Package org.firebirdsql.jdbc.metadata
Class MetadataPattern
- java.lang.Object
-
- org.firebirdsql.jdbc.metadata.MetadataPattern
-
@InternalApi public final class MetadataPattern extends java.lang.Object
Holder of a database metadata pattern.Provides information whether the pattern is the all-pattern, or if the condition needs a normal equality comparison, a SQL
LIKE, or a SQLSTARTING WITH.- Since:
- 4.0
- Author:
- Mark Rotteveel
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classMetadataPattern.ConditionType
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static MetadataPatterncompile(java.lang.String metadataPattern)Compiles the metadata pattern.static booleancontainsPatternSpecialChars(java.lang.String pattern)Scans string to determine if string contains any of\_%that indicates additional processing is needed.static java.lang.StringescapeWildcards(java.lang.String objectName)Escapes the like wildcards and escape (\_%in the provided search string with a\.MetadataPattern.ConditionTypegetConditionType()java.lang.StringgetConditionValue()static booleanisAllCondition(java.lang.String metadataPattern)static booleanisPatternSpecialChar(char charVal)Checks if character is a database metadata pattern special.java.lang.StringrenderCondition(java.lang.String columnName)Renders the condition for this pattern.MetadataPatternMatchertoMetadataPatternMatcher()
-
-
-
Method Detail
-
getConditionType
public MetadataPattern.ConditionType getConditionType()
- Returns:
- Type of condition to use for this metadata pattern
-
getConditionValue
public java.lang.String getConditionValue()
- Returns:
- Value for the condition;
nullsignals no condition
-
renderCondition
public java.lang.String renderCondition(java.lang.String columnName)
Renders the condition for this pattern.- Parameters:
columnName- column name- Returns:
- Rendered condition (can be empty string if there is no condition).
-
toMetadataPatternMatcher
public MetadataPatternMatcher toMetadataPatternMatcher()
- Returns:
- Metadata pattern matcher for this metadata pattern
-
compile
public static MetadataPattern compile(java.lang.String metadataPattern)
Compiles the metadata pattern.- Parameters:
metadataPattern- Metadata pattern string- Returns:
- MetadataPattern instance
-
containsPatternSpecialChars
public static boolean containsPatternSpecialChars(java.lang.String pattern)
Scans string to determine if string contains any of\_%that indicates additional processing is needed.- Parameters:
pattern- metadata pattern- Returns:
trueif the string contains any like special characters
-
isPatternSpecialChar
public static boolean isPatternSpecialChar(char charVal)
Checks if character is a database metadata pattern special.- Parameters:
charVal- Character to check- Returns:
trueifcharValis a pattern special (\_%)
-
escapeWildcards
public static java.lang.String escapeWildcards(java.lang.String objectName)
Escapes the like wildcards and escape (\_%in the provided search string with a\.- Parameters:
objectName- Object name to escape.- Returns:
- Object name with wildcards escaped.
-
isAllCondition
public static boolean isAllCondition(java.lang.String metadataPattern)
-
-