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

Since:
  4.0
Author:
  Mark Rotteveel

### Nested Class Summary

Nested Classes
`static class` `MetadataPattern.ConditionType`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`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()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### 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` 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)