Package com.illumon.iris.db.tables.utils
Class DBNameValidator
java.lang.Object
com.illumon.iris.db.tables.utils.DBNameValidator
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic classstatic enum -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic booleanisLegalNamespaceName(String name) static booleanisLegalNamespaceName(String name, Function<String, String> replaceCustom) static booleanValidates 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 booleanValidates whether a given name is a legal table name.static booleanisLegalTableName(String name, Set<String> takenNames) static booleanisValidColumnName(String name) static StringlegalizeColumnName(String name) static StringlegalizeColumnName(String name, Function<String, String> replaceCustom) static StringAttempts 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 StringAttempts 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 Stringstatic 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 StringAttempts 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 Stringstatic StringvalidateTableName(String name)
-
Constructor Details
-
DBNameValidator
public DBNameValidator()
-
-
Method Details
-
validateTableName
-
validateNamespaceName
-
validatePartitionName
-
validateQueryParameterName
-
validateColumnName
-
isValidColumnName
-
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
-