Class 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 SQL STARTING WITH.

    Since:
    4.0
    Author:
    Mark Rotteveel
    • Method Detail

      • 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 if charVal 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)