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 class
MetadataPattern.ConditionType
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static MetadataPattern
compile(java.lang.String metadataPattern)
Compiles the metadata pattern.static boolean
containsPatternSpecialChars(java.lang.String pattern)
Scans string to determine if string contains any of\_%
that indicates additional processing is needed.static java.lang.String
escapeWildcards(java.lang.String objectName)
Escapes the like wildcards and escape (\_%
in the provided search string with a\
.MetadataPattern.ConditionType
getConditionType()
java.lang.String
getConditionValue()
static boolean
isAllCondition(java.lang.String metadataPattern)
static boolean
isPatternSpecialChar(char charVal)
Checks if character is a database metadata pattern special.java.lang.String
renderCondition(java.lang.String columnName)
Renders the condition for this pattern.MetadataPatternMatcher
toMetadataPatternMatcher()
-
-
-
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;
null
signals 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:
true
if 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:
true
ifcharVal
is 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)
-
-