Class MetadataPattern

java.lang.Object
org.firebirdsql.jdbc.metadata.MetadataPattern

@InternalApi public final class MetadataPattern extends 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 SQL STARTING WITH.

Since:
4.0
Author:
Mark Rotteveel
  • Method Details

    • getConditionType

      public MetadataPattern.ConditionType getConditionType()
      Returns:
      Type of condition to use for this metadata pattern
    • getConditionValue

      public String getConditionValue()
      Returns:
      Value for the condition; null signals no value
    • renderCondition

      public String renderCondition(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(String metadataPattern)
      Compiles the metadata pattern.
      Parameters:
      metadataPattern - Metadata pattern string
      Returns:
      MetadataPattern instance
    • containsPatternSpecialChars

      public static boolean containsPatternSpecialChars(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 if charVal is a pattern special (\_%)
    • escapeWildcards

      public static String escapeWildcards(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(String metadataPattern)