Package com.illumon.iris.db.tables.utils
Class DBNameValidator
java.lang.Object
com.illumon.iris.db.tables.utils.DBNameValidator
public class DBNameValidator extends Object
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classDBNameValidator.InvalidNameExceptionstatic classDBNameValidator.LegalizeNameExceptionstatic classDBNameValidator.Type -
Constructor Summary
Constructors Constructor Description DBNameValidator() -
Method Summary
Modifier and Type Method Description static booleanisLegalNamespaceName(String name)static booleanisLegalNamespaceName(String name, Function<String,String> replaceCustom)static booleanisLegalNamespaceName(String name, Function<String,String> customReplace, Set<String> takenNames)Validates whether a givennameis a valid namespace.static booleanisLegalNamespaceName(String name, Set<String> takenNames)static booleanisLegalTableName(String name)static booleanisLegalTableName(String name, Function<String,String> replaceCustom)static booleanisLegalTableName(String name, Function<String,String> customReplace, Set<String> takenNames)Validates whether a given name is a legal table name.static booleanisLegalTableName(String name, Set<String> takenNames)static StringlegalizeColumnName(String name)static StringlegalizeColumnName(String name, Function<String,String> replaceCustom)static StringlegalizeColumnName(String name, Function<String,String> customReplace, Set<String> takenNames)Attempts to return a legal name based on the passed inname.static StringlegalizeColumnName(String name, Set<String> takenNames)static String[]legalizeColumnNames(String[] names)static String[]legalizeColumnNames(String[] names, boolean resolveConflicts)static String[]legalizeColumnNames(String[] names, Function<String,String> customReplace)static String[]legalizeColumnNames(String[] names, Function<String,String> customReplace, boolean resolveConflicts)static StringlegalizeNamespaceName(String name)static StringlegalizeNamespaceName(String name, Function<String,String> replaceCustom)static StringlegalizeNamespaceName(String name, Function<String,String> customReplace, Set<String> takenNames)Attempts to return a legal name based on the passed inname.static StringlegalizeNamespaceName(String name, Set<String> takenNames)static String[]legalizeNamespaceNames(String[] names)static String[]legalizeNamespaceNames(String[] names, boolean resolveConflicts)static String[]legalizeNamespaceNames(String[] names, Function<String,String> customReplace)static String[]legalizeNamespaceNames(String[] names, Function<String,String> customReplace, boolean resolveConflicts)static StringlegalizeQueryParameterName(String name)static StringlegalizeQueryParameterName(String name, Function<String,String> replaceCustom)static StringlegalizeQueryParameterName(String name, Function<String,String> customReplace, Set<String> takenNames)Attempts to return a legal name based on the passed inname.static StringlegalizeQueryParameterName(String name, Set<String> takenNames)static String[]legalizeQueryParameterNames(String[] names)static String[]legalizeQueryParameterNames(String[] names, boolean resolveConflicts)static String[]legalizeQueryParameterNames(String[] names, Function<String,String> customReplace)static String[]legalizeQueryParameterNames(String[] names, Function<String,String> customReplace, boolean resolveConflicts)static StringlegalizeTableName(String name)static StringlegalizeTableName(String name, Function<String,String> replaceCustom)static StringlegalizeTableName(String name, Function<String,String> customReplace, Set<String> takenNames)Attempts to return a legal name based on the passed inname.static StringlegalizeTableName(String name, Set<String> takenNames)static String[]legalizeTableNames(String[] names)static String[]legalizeTableNames(String[] names, boolean resolveConflicts)static String[]legalizeTableNames(String[] names, Function<String,String> customReplace)static String[]legalizeTableNames(String[] names, Function<String,String> customReplace, boolean resolveConflicts)static StringvalidateColumnName(String name)static StringvalidateNamespaceName(String name)static StringvalidatePartitionName(String name)static StringvalidateQueryParameterName(String name)static StringvalidateTableName(String name)
-
Constructor Details
-
DBNameValidator
public DBNameValidator()
-
-
Method Details
-
validateTableName
-
validateNamespaceName
-
validatePartitionName
-
validateQueryParameterName
-
validateColumnName
-
legalizeColumnName
-
legalizeColumnName
-
legalizeColumnName
-
legalizeColumnName
public static String legalizeColumnName(String name, Function<String,String> customReplace, Set<String> takenNames)Attempts to return a legal name based on the passed inname. Illegal characters are simply removed. Custom replacement is possible throughcustomReplaceTo avoid duplicated names, anything in the settakenNameswill not be returned. Theses duplicates are resolved by adding sequential digits at the end of the variable name. Column names A variable's name can be any legal identifier - an unlimited-length sequence of Unicode letters and digits, beginning with a letter, the dollar sign "$", or the underscore character "_". Subsequent characters may be letters, digits, dollar signs, or underscore characters.- Parameters:
name- , customReplace, takenNames can not be null- Returns:
-
legalizeColumnNames
-
legalizeColumnNames
-
legalizeColumnNames
-
legalizeColumnNames
-
legalizeQueryParameterName
-
legalizeQueryParameterName
-
legalizeQueryParameterName
-
legalizeQueryParameterName
public static String legalizeQueryParameterName(String name, Function<String,String> customReplace, Set<String> takenNames)Attempts to return a legal name based on the passed inname. Illegal characters are simply removed. Custom replacement is possible throughcustomReplaceTo avoid duplicated names, anything in the settakenNameswill not be returned. Theses duplicates are resolved by adding sequential digits at the end of the variable name. Query parameters follow the same rules as column names- Parameters:
name- , customReplace, takenNames can not be null- Returns:
-
legalizeQueryParameterNames
-
legalizeQueryParameterNames
-
legalizeQueryParameterNames
-
legalizeQueryParameterNames
-
legalizeTableName
-
legalizeTableName
-
legalizeTableName
-
legalizeTableName
public static String legalizeTableName(String name, Function<String,String> customReplace, Set<String> takenNames)Attempts to return a legal name based on the passed inname. Illegal characters are simply removed. Custom replacement is possible throughcustomReplaceTo avoid duplicated names, anything in the settakenNameswill not be returned. Theses duplicates are resolved by adding sequential digits at the end of the variable name. Table Names- check the regexTABLE_NAME_PATTERN- Parameters:
name- , customReplace, takenNames can not be null- Returns:
-
isLegalTableName
-
isLegalTableName
-
isLegalTableName
-
isLegalTableName
public static boolean isLegalTableName(String name, Function<String,String> customReplace, Set<String> takenNames)Validates whether a given name is a legal table name.- Parameters:
name- the name to validatecustomReplace- a function that is applied to the name before processing legalitytakenNames- the list of names that are already taken- Returns:
- whether the name is valid for a new table
-
legalizeTableNames
-
legalizeTableNames
-
legalizeTableNames
-
legalizeTableNames
-
legalizeNamespaceName
-
legalizeNamespaceName
-
legalizeNamespaceName
-
legalizeNamespaceName
public static String legalizeNamespaceName(String name, Function<String,String> customReplace, Set<String> takenNames)Attempts to return a legal name based on the passed inname. Illegal characters are simply removed. Custom replacement is possible throughcustomReplaceTo avoid duplicated names, anything in the settakenNameswill not be returned. Theses duplicates are resolved by adding sequential digits at the end of the variable name. Namespace Names- check the regexTABLE_NAME_PATTERN- Parameters:
name- , customReplace, takenNames can not be null- Returns:
-
isLegalNamespaceName
public static boolean isLegalNamespaceName(String name, Function<String,String> customReplace, Set<String> takenNames)Validates whether a givennameis a valid namespace.- Parameters:
name- the name to validatecustomReplace- a function that is applied to the name before processing legalitytakenNames- the list of names that are already taken- Returns:
- whether the name is valid for a new namespace
-
isLegalNamespaceName
-
isLegalNamespaceName
-
isLegalNamespaceName
-
legalizeNamespaceNames
-
legalizeNamespaceNames
-
legalizeNamespaceNames
-
legalizeNamespaceNames
-