CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/maven-com-networknt--utility

A comprehensive utility library for Light-4J microservices framework providing string manipulation, networking, I/O, security, and configuration utilities.

Pending
Overview
Eval results
Files

string-processing.mddocs/

String Processing

Comprehensive string processing utilities including validation, transformation, formatting, and pattern matching. These utilities provide null-safe operations and are designed for high-performance text processing in microservices environments.

Capabilities

Core String Utilities

The StringUtils class provides the main string manipulation functionality with 50+ methods for common string operations.

/**
 * Comprehensive string manipulation utilities extracted from Apache Commons Lang
 */
public class StringUtils {
    public static final int INDEX_NOT_FOUND = -1;
    public static final String EMPTY = "";
    public static final String SPACE = " ";
    public static final String EMAIL_PATTERN = "..."; // Email validation regex
    public static final Pattern pattern; // Compiled email pattern
    
    // Basic checks
    public static boolean isNullOrEmpty(String value);
    public static boolean isEmpty(CharSequence cs);
    public static boolean isBlank(CharSequence cs);
    public static boolean isNotBlank(CharSequence cs);
    public static boolean hasText(String str);
    public static boolean hasLength(String str);
    
    // String transformation
    public static String expandEnvVars(String text);
    public static String replace(String text, String searchString, String replacement, int max);
    public static String replaceOnce(String text, String searchString, String replacement);
    public static String rightPad(String str, int size, char padChar);
    public static String rightPad(String str, int size, String padStr);
    public static String repeat(char ch, int repeat);
    public static String trimToEmpty(String str);
    public static String removeEnd(String str, String remove);
    public static String removeStart(String str, String remove);
    public static String removeStartIgnoreCase(String str, String remove);
    public static String stripEnd(String str, String stripChars);
    
    // Substring operations
    public static String substringBefore(String str, String separator);
    public static String substringAfter(String str, String separator);
    public static String substringBeforeLast(String str, String separator);
    public static String substringAfterLast(String str, String separator);
    
    // String analysis
    public static int countMatches(CharSequence str, CharSequence sub);
    public static int countMatches(CharSequence str, char ch);
    public static boolean startsWithIgnoreCase(CharSequence str, CharSequence prefix);
    public static boolean containsIgnoreCase(CharSequence str, CharSequence searchStr);
    
    // Splitting and joining
    public static String[] split(String str, String separatorChars);
    public static String[] split(String str, char separatorChar);
    public static String join(Object[] array, char separator);
    public static String join(Object[] array, char separator, int startIndex, int endIndex);
    public static String join(Iterator<?> iterator, char separator);
    public static String join(Iterable<?> iterable, char separator);
    public static String[] tokenizeToStringArray(String str, String delimiters);
    public static String[] tokenizeToStringArray(String str, String delimiters, boolean trimTokens, boolean ignoreEmptyTokens);
    public static String[] toStringArray(Collection<String> collection);
    public static String collectionToDelimitedString(Collection<?> coll, String delim);
    public static String collectionToDelimitedString(Collection<?> coll, String delim, String prefix, String suffix);
    public static String collectionToCommaDelimitedString(Collection<?> coll);
    
    // Validation
    public static boolean isEmail(String userIdEmail);
    public static boolean isNumeric(String str);
    public static boolean isJwtToken(String str);
    
    // Conversion
    public static String inputStreamToString(InputStream inputStream, Charset charset);
    
    // Security
    public static String maskHalfString(String str);
    
    // Pattern matching
    public static boolean matchPathToPattern(String requestPath, String endpointPattern);
    
    // Utility
    public static String getSecondPart(String input);
}

Usage Examples:

import com.networknt.utility.StringUtils;

// Basic validation
boolean isEmpty = StringUtils.isEmpty(""); // true
boolean isBlank = StringUtils.isBlank("   "); // true
boolean hasText = StringUtils.hasText("hello"); // true

// String cleaning
String cleaned = StringUtils.trimToEmpty("  hello world  "); // "hello world"
String padded = StringUtils.rightPad("test", 10, '-'); // "test------"

// Environment variable expansion
String expanded = StringUtils.expandEnvVars("Hello ${USER}"); // "Hello john"

// Email validation
boolean validEmail = StringUtils.isEmail("user@example.com"); // true

// String splitting and joining
String[] parts = StringUtils.split("a,b,c", ","); // ["a", "b", "c"]
String joined = StringUtils.join(new String[]{"a", "b", "c"}, ','); // "a,b,c"

// Substring operations
String before = StringUtils.substringBefore("hello.world", "."); // "hello"
String after = StringUtils.substringAfter("hello.world", "."); // "world"

// Pattern matching for paths
boolean matches = StringUtils.matchPathToPattern("/api/users/123", "/api/users/{id}"); // true

Character Sequence Utilities

Null-safe CharSequence operations for working with strings and other character sequences.

/**
 * CharSequence operations that are null-safe
 */
public class CharSequenceUtils {
    public CharSequenceUtils(); // JavaBean compatibility
    
    /**
     * Safe subsequence extraction
     * @param cs - CharSequence to extract from
     * @param start - Starting index
     * @return Subsequence or null if cs is null
     */
    public static CharSequence subSequence(CharSequence cs, int start);
}

Character Utilities

Character manipulation and validation utilities with ASCII checking and conversion operations.

/**
 * Character manipulation and validation utilities
 */
public class CharUtils {
    public static final char LF = '\n';
    public static final char CR = '\r';
    public static final char NUL = '\0';
    
    public CharUtils(); // JavaBean compatibility
    
    // Character conversion
    public static Character toCharacterObject(char ch);
    public static Character toCharacterObject(String str);
    public static char toChar(Character ch, char defaultValue);
    public static char toChar(String str, char defaultValue);
    public static int toIntValue(char ch);
    public static int toIntValue(Character ch);
    public static String toString(char ch);
    public static String toString(Character ch);
    public static String unicodeEscaped(char ch);
    public static String unicodeEscaped(Character ch);
    
    // ASCII validation
    public static boolean isAscii(char ch);
    public static boolean isAsciiPrintable(char ch);
    public static boolean isAsciiControl(char ch);
    public static boolean isAsciiAlpha(char ch);
    public static boolean isAsciiAlphaUpper(char ch);
    public static boolean isAsciiAlphaLower(char ch);
    public static boolean isAsciiNumeric(char ch);
    public static boolean isAsciiAlphanumeric(char ch);
    
    // Character comparison
    public static int compare(char x, char y);
}

Usage Examples:

import com.networknt.utility.CharUtils;

// Character validation
boolean isAlpha = CharUtils.isAsciiAlpha('A'); // true
boolean isNumeric = CharUtils.isAsciiNumeric('5'); // true
boolean isPrintable = CharUtils.isAsciiPrintable(' '); // true

// Character conversion
String unicode = CharUtils.unicodeEscaped('€'); // "\\u20AC"
int value = CharUtils.toIntValue('5'); // 53 (ASCII value)

// Safe character extraction
char safeChar = CharUtils.toChar("A", 'X'); // 'A'
char defaultChar = CharUtils.toChar("", 'X'); // 'X'

Regular Expression Utilities

Regular expression helpers for common string processing tasks with pattern-based operations.

/**
 * Regular expression helpers for string processing
 */
public class RegExUtils {
    // Pattern-based operations
    public static String removeAll(String text, Pattern regex);
    public static String removeAll(String text, String regex);
    public static String removeFirst(String text, Pattern regex);
    public static String removeFirst(String text, String regex);
    public static String removePattern(String text, String regex);
    
    // Replacement operations
    public static String replaceAll(String text, Pattern regex, String replacement);
    public static String replaceAll(String text, String regex, String replacement);
    public static String replaceFirst(String text, Pattern regex, String replacement);
    public static String replaceFirst(String text, String regex, String replacement);
    public static String replacePattern(String text, String regex, String replacement);
}

Usage Examples:

import com.networknt.utility.RegExUtils;

// Remove operations
String cleaned = RegExUtils.removeAll("abc123def456", "\\d+"); // "abcdef"
String first = RegExUtils.removeFirst("abc123def456", "\\d+"); // "abcdef456"

// Replace operations
String replaced = RegExUtils.replaceAll("hello world", "\\s+", "_"); // "hello_world"
String firstReplaced = RegExUtils.replaceFirst("test test test", "test", "demo"); // "demo test test"

Byte Utilities

Byte array operations and random string generation for low-level data manipulation.

/**
 * Byte array operations and random string generation
 */
public class ByteUtil {
    // Byte array conversion
    public static byte[] longToBytes(long x);
    public static long bytesToLong(byte[] bytes);
    
    // Random string generation
    public static String randomAlphabetic(int length);
    public static String randomNumeric(int length);
}

Usage Examples:

import com.networknt.utility.ByteUtil;

// Byte array conversion
long value = 12345L;
byte[] bytes = ByteUtil.longToBytes(value);
long restored = ByteUtil.bytesToLong(bytes); // 12345

// Random string generation
String randomText = ByteUtil.randomAlphabetic(10); // "aBcDeFgHiJ"
String randomNumbers = ByteUtil.randomNumeric(6); // "123456"

Install with Tessl CLI

npx tessl i tessl/maven-com-networknt--utility

docs

configuration-management.md

data-structure-utilities.md

framework-integration.md

index.md

io-file-operations.md

network-operations.md

path-template-matching.md

security-cryptography.md

string-processing.md

time-date-operations.md

tile.json