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

framework-integration.mddocs/

Framework Constants & Integration

Framework constants and module registry functionality for Light-4J ecosystem integration, including HTTP headers, JWT claims, component registration, and general utility functions for microservices frameworks.

Capabilities

Framework Constants

Shared constants for all Light-4J components providing standardized string constants for headers, JWT claims, protocols, and framework identifiers.

/**
 * Shared constants for all light-4j components (65 total constants)
 */
public class Constants {
    // HTTP Headers & Request/Response Constants
    public static final String CORRELATION_ID_STRING = "X-Correlation-Id";
    public static final String TRACEABILITY_ID_STRING = "X-Traceability-Id";
    public static final String ADM_PASSTHROUGH_STRING = "X-Adm-PassThrough";
    public static final String SCOPE_TOKEN_STRING = "X-Scope-Token";
    public static final String CONSUL_TOKEN_STRING = "X-Consul-Token";
    public static final String CSRF_TOKEN_STRING = "X-CSRF-TOKEN";
    public static final String AUTHORIZATION_STRING = "authorization";
    public static final String SWAGGER_OPERATION_STRING = "swagger_operation";
    public static final String OPENAPI_OPERATION_STRING = "openapi_operation";
    public static final String SERVICE_ID_STRING = "service_id";
    public static final String SERVICE_URL_STRING = "service_url";
    public static final String ENV_TAG_STRING = "env_tag";
    public static final String HASH_KEY_STRING = "hash_key";
    public static final String HEADER = "header";
    public static final String HOST = "host";
    
    // JWT Claims & Authentication Constants
    public static final String USER_ID_STRING = "user_id";
    public static final String UID = "uid";
    public static final String USER_TYPE = "user_type";
    public static final String ROLES = "roles";
    public static final String CLIENT_ID_STRING = "client_id";
    public static final String CID = "cid";
    public static final String ISS = "iss";
    public static final String CALLER_ID_STRING = "caller_id";
    public static final String SCOPE_CLIENT_ID_STRING = "scope_client_id";
    public static final String SCOPE_STRING = "scope";
    public static final String SCP_STRING = "scp";
    public static final String PRIMARY_SCOPES = "primary_scopes";
    public static final String SECONDARY_SCOPES = "secondary_scopes";
    public static final String ENDPOINT_STRING = "endpoint";
    public static final String CSRF = "csrf";
    public static final String EID = "eid";
    public static final String AUDIT_INFO = "auditInfo";
    public static final String SUBJECT_CLAIMS = "subject_claims";
    public static final String ACCESS_CLAIMS = "access_claims";
    public static final String ISSUER_CLAIMS = "issuer_claims";
    
    // User Management & Entity Constants
    public static final String ATT = "att";
    public static final String POS = "pos";
    public static final String GRP = "grp";
    public static final String ROLE = "role";
    public static final String EML = "eml";
    public static final String EMAIL = "email";
    public static final String GROUPS = "groups";
    public static final String GROUP = "group";
    public static final String POSITIONS = "positions";
    public static final String POSITION = "position";
    public static final String ATTRIBUTES = "attributes";
    public static final String ATTRIBUTE = "attribute";
    public static final String USERS = "users";
    public static final String USER = "user";
    public static final String COL = "col";
    public static final String ROW = "row";
    
    // Time & Numeric Constants
    public static final int MILLS = 1;
    public static final int SECOND_MILLS = 1000;
    public static final int MINUTE_MILLS = 60 * SECOND_MILLS;
    public static final int DEFAULT_INT_VALUE = 0;
    
    // Protocol & Network Constants
    public static final String PROTOCOL_SEPARATOR = "://";
    public static final String PROTOCOL_LIGHT = "light";
    public static final String PROTOCOL_HTTPS = "https";
    public static final String HTTPS = "https";
    public static final String PROTOCOL = "protocol";
    public static final String REGISTRY_PROTOCOL_LOCAL = "local";
    public static final String REGISTRY_PROTOCOL_DIRECT = "direct";
    public static final String REGISTRY_PROTOCOL_ZOOKEEPER = "zookeeper";
    public static final String ZOOKEEPER_REGISTRY_NAMESPACE = "/light";
    public static final String ZOOKEEPER_REGISTRY_COMMAND = "/command";
    
    // Framework & Service Constants
    public static final String FRAMEWORK_NAME = "light";
    public static final String METHOD_CONFIG_PREFIX = "methodconfig.";
    public static final String LIGHT_4J = "Light4j";
    public static final String SPRING_BOOT = "SpringBoot";
    public static final String HYBRID_SERVICE_ID = "hybrid_service_id";
    public static final String HYBRID_SERVICE_MAP = "hybrid_service_map";
    public static final String HYBRID_SERVICE_DATA = "hybrid_service_data";
    
    // Default Values & Configuration Constants
    public static final String DEFAULT_VERSION = "1.0";
    public static final String DEFAULT_VALUE = "default";
    public static final String DEFAULT_CHARACTER = "utf-8";
    public static final String UNKNOWN = "unknown";
    public static final String NODE_TYPE_SERVICE = "service";
    public static final String TAG_ENVIRONMENT = "environment";
    public static final String PATH_SEPARATOR = "/";
    
    // Rate Limiting Constants
    public static final String RATELIMIT_LIMIT = "RateLimit-Limit";
    public static final String RATELIMIT_REMAINING = "RateLimit-Remaining";
    public static final String RATELIMIT_RESET = "RateLimit-Reset";
    public static final String RETRY_AFTER = "Retry-After";
    
    // Logging & Auditing Constants
    public static final String AUDIT_LOGGER = "Audit";
    public static final String STATUS = "Status";
    public static final String STACK_TRACE = "StackTrace";
    public static final String ERROR_MESSAGE = "errorMessage";
    
    // Encoding & Compression Constants
    public static final String ENCODE_GZIP = "gzip";
    public static final String ENCODE_DEFLATE = "deflate";
    
    // Miscellaneous Constants
    public static final String REGISTRY_HEARTBEAT_SWITCHER = "RegistryHeartBeat";
    public static final String RULE_ID = "ruleId";
}

General Utilities

Generic utilities for UUID generation, encoding, version information, and various helper functions.

/**
 * Generic utilities for UUID generation, encoding, etc.
 */
public class Util {
    public static final List<String> METHODS; // List of HTTP methods
    
    // UUID generation
    public static String getUUID();
    public static String getAlphaNumUUID();
    
    // String utilities
    public static String quote(String value);
    
    // Network utilities
    @Deprecated
    public static InetAddress getInetAddress();
    
    // Version information
    public static String getJarVersion();
    public static String getFrameworkVersion();
    
    // Parsing utilities
    public static int parseInteger(String intStr);
    
    // URL encoding/decoding
    public static String urlEncode(String value);
    public static String urlDecode(String value);
    
    // Template processing
    public static String substituteVariables(String template, Map<String, String> variables);
    
    // JWT utilities
    public static Map<String, String> parseAttributes(String attributesString);
    
    // Service identification
    public static String getServiceId(Map<String, Object> jsonMap);
    public static String getServiceId(String host, String service, String name, String version);
}

Module Registry

Module and plugin registry for server info component providing dynamic component registration and discovery.

/**
 * Module and plugin registry for server info component
 */
public class ModuleRegistry {
    // Module registration
    public static void registerModule(String configName, String moduleClass, Map<String, Object> config, List<String> masks);
    public static Map<String, Object> getModuleRegistry();
    public static List<String> getModuleClasses();
    
    // Plugin registration
    public static void registerPlugin(String pluginName, String pluginVersion, String configName, String pluginClass, Map<String, Object> config, List<String> masks);
    public static Map<String, Object> getPluginRegistry();
    public static List<Map<String, Object>> getPlugins();
    public static List<String> getPluginClasses();
}

Usage Examples:

import com.networknt.utility.Constants;
import com.networknt.utility.Util;
import com.networknt.utility.ModuleRegistry;

// Using framework constants
String correlationHeader = Constants.CORRELATION_ID_STRING; // "X-Correlation-Id"
String userIdClaim = Constants.USER_ID_STRING; // "user_id"
String jsonContentType = Constants.APPLICATION_JSON; // "application/json"

// Time calculations
long cacheExpiry = System.currentTimeMillis() + (5 * Constants.MINUTE_MILLS);
long dayInMillis = Constants.DAY_MILLS; // 86400000

// UUID generation
String uniqueId = Util.getUUID(); // Base64 URL-safe UUID
String alphaNumId = Util.getAlphaNumUUID(); // Alphanumeric only

// Service identification
String serviceId = Util.getServiceId("api.example.com", "user-service", "users", "1.0.0");
// Result: "api.example.com/user-service/users/1.0.0"

// Template variable substitution
String template = "Hello ${name}, welcome to ${service}";
Map<String, String> variables = Map.of("name", "Alice", "service", "UserAPI");
String result = Util.substituteVariables(template, variables);
// Result: "Hello Alice, welcome to UserAPI"

// URL encoding
String encoded = Util.urlEncode("hello world!"); // "hello%20world%21"
String decoded = Util.urlDecode(encoded); // "hello world!"

// Module registration
Map<String, Object> moduleConfig = Map.of(
    "enabled", true,
    "timeout", 5000
);
List<String> configMasks = Arrays.asList("password", "secret");

ModuleRegistry.registerModule(
    "database-config",
    "com.example.DatabaseModule",
    moduleConfig,
    configMasks
);

// Plugin registration
ModuleRegistry.registerPlugin(
    "auth-plugin",
    "1.2.0",
    "auth-config",
    "com.example.AuthPlugin",
    Map.of("provider", "oauth2"),
    Arrays.asList("clientSecret")
);

// Retrieve registered components
Map<String, Object> modules = ModuleRegistry.getModuleRegistry();
List<String> moduleClasses = ModuleRegistry.getModuleClasses();
List<Map<String, Object>> plugins = ModuleRegistry.getPlugins();

// Framework integration example
public class MicroserviceSetup {
    public void configureService() {
        // Use framework constants for consistent configuration
        System.setProperty("framework.type", Constants.LIGHT_4J);
        System.setProperty("protocol", Constants.PROTOCOL_HTTPS);
        
        // Generate service identifiers
        String serviceId = Util.getUUID();
        String correlationId = Util.getAlphaNumUUID();
        
        // Register service modules
        ModuleRegistry.registerModule(
            "service-config",
            this.getClass().getName(),
            getServiceConfig(),
            getConfigMasks()
        );
    }
}

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