Package com.saxonica.ee.schema

## Class PatternFacet

- java.lang.Object
- - com.saxonica.ee.schema.Facet
  - - com.saxonica.ee.schema.PatternFacet

-     public class PatternFacet
      extends Facet

  Represents a pattern facet on a schema-defined simple type

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `PatternFacet​(Configuration config)` | Create a pattern facet

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addBranch​(java.lang.String pat)` | Add a branch to a pattern: that is, combine this pattern with another, so that the resulting pattern is the "or" of the two patterns
    `void` | `checkFacetRestriction​(UserSimpleType type, SimpleType base, SchemaCompiler compiler)` | Check that this facet is legal when used on a type derived by restriction
    `void` | `compile​(java.util.List<java.lang.String> warnings)` | Compile the regular expression
    `Function` | `getFacetAsFunctionItem()` | Get a function item that represents this Facet schema component.
    `java.lang.String` | `getFlags()` | Get the flags for the regular expression
    `java.lang.String` | `getName()` | Returns the name of this Facet
    `RegularExpression` | `getRegularExpression()` |
    `java.lang.String` | `getValue()` | Returns the lexical representation of the value of this facet
    `boolean` | `isDoNotMerge()` |
    `void` | `setDoNotMerge​(boolean dont)` |
    `void` | `setFlags​(java.lang.String flags)` | Saxon allows flags for the regular expression (e.g.
    `void` | `setValue​(java.lang.String value)` |
    `boolean` | `testAtomicValue​(AtomicValue value)` | Test whether an atomic value conforms to this facet

    - ### Methods inherited from class com.saxonica.ee.schema.Facet

      `getConstraintName, getMessage, getWhitespaceAction, isConstraining, isFacetName, isFixed, isNewlyIntroduced, makeFacet, serializeFacet, setFixed, setMessage, testLength, testListValue, toLong`

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

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

- - ### Constructor Detail

    - #### PatternFacet

          public PatternFacet​(Configuration config)

      Create a pattern facet
      Parameters:
        `config` - the Saxon configuration

  - ### Method Detail

    - #### getName

          public java.lang.String getName()

      Description copied from class: `Facet`
      Returns the name of this Facet
      Specified by:
        `getName` in class `Facet`
      Returns:
        the name of this Facet

    - #### getValue

          public java.lang.String getValue()

      Description copied from class: `Facet`
      Returns the lexical representation of the value of this facet
      Specified by:
        `getValue` in class `Facet`
      Returns:
        the value of this facet, as a string

    - #### getRegularExpression

          public RegularExpression getRegularExpression()

    - #### setValue

          public void setValue​(java.lang.String value)

    - #### setFlags

          public void setFlags​(java.lang.String flags)

      Saxon allows flags for the regular expression (e.g. "i" meaning case-independent) to be set using the saxon:flags attribute
      Parameters:
        `flags` - the regular expression flags

    - #### getFlags

          public java.lang.String getFlags()

      Get the flags for the regular expression
      Returns:
        the flags

    - #### compile

          public void compile​(java.util.List<java.lang.String> warnings)
                       throws SchemaException

      Compile the regular expression
      Parameters:
        `warnings` - if non-null, receives any warnings that arise from compiling the regular expression
      Throws:
        `SchemaException` - if the regular expression is invalid

    - #### setDoNotMerge

          public void setDoNotMerge​(boolean dont)

    - #### isDoNotMerge

          public boolean isDoNotMerge()

    - #### addBranch

          public void addBranch​(java.lang.String pat)

      Add a branch to a pattern: that is, combine this pattern with another, so that the resulting pattern is the "or" of the two patterns
      Parameters:
        `pat` - the new branch, which must be a valid regular expression

    - #### checkFacetRestriction

          public void checkFacetRestriction​(UserSimpleType type,
                                            SimpleType base,
                                            SchemaCompiler compiler)

      Check that this facet is legal when used on a type derived by restriction
      Overrides:
        `checkFacetRestriction` in class `Facet`
      Parameters:
        `base` - the type from which the restricted type is derived
        `compiler` - the schema compiler
        `type` - the type on which the facet is defined

    - #### testAtomicValue

          public boolean testAtomicValue​(AtomicValue value)

      Test whether an atomic value conforms to this facet
      Specified by:
        `testAtomicValue` in class `Facet`
      Parameters:
        `value` - the value to be tested
      Returns:
        true if the value conforms; false if it doesn't conform, or if the test fails

    - #### getFacetAsFunctionItem

          public Function getFacetAsFunctionItem()

      Description copied from class: `Facet`
      Get a function item that represents this Facet schema component.
      Specified by:
        `getFacetAsFunctionItem` in class `Facet`