## com.saxonica.schema
Class PatternFacet

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

All Implemented Interfaces:
  java.io.Serializable

    public class PatternFacet

extends Facet

Represents a pattern facet on a schema-defined simple type

See Also:
  Serialized Form

Field Summary

Fields inherited from class com.saxonica.schema.Facet
`ASSERT, ENUMERATION, FRACTIONDIGITS, LENGTH, MAX_EXCLUSIVE, MAX_INCLUSIVE, MAX_LENGTH, MIN_EXCLUSIVE, MIN_INCLUSIVE, MIN_LENGTH, PATTERN, TOTALDIGITS, WHITESPACE`

Constructor Summary
`PatternFacet(Configuration config)` Create a pattern facet

Method Summary
`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)` Check that this facet is legal when used on a type derived by restriction
`java.lang.String` `getName()` Returns the name of this Facet
`java.lang.String` `getValue()` Returns the lexical representation of this facet
`boolean` `isDoNotMerge()`
`void` `setDoNotMerge(boolean dont)`
`void` `setValue(java.lang.String value)` Set the string value of the facet
`boolean` `testAtomicValue(AtomicValue value)` Test whether an atomic value conforms to this facet

Methods inherited from class com.saxonica.schema.Facet
`getWhitespaceAction, isFacetName, isFixed, isNewlyIntroduced, makeFacet, serializeFacet, setFixed, 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 this facet

  Specified by:
    `getValue` in class `Facet`
  Returns:
    the value of this facet

### setValue

    public void setValue(java.lang.String value)
                  throws SchemaException

  Description copied from class: `Facet`
  Set the string value of the facet

  Specified by:
    `setValue` in class `Facet`
  Parameters:
    `value` - the string value of the facet
  Throws:
    `SchemaException` - if the value is not valid for this facet on this type

### 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)
                               throws SchemaException

  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
    `type` - the type on which the facet is defined
  Throws:
    `SchemaException` - if the facet is not legal

### testAtomicValue

    public boolean testAtomicValue(AtomicValue value)

  Test whether an atomic value conforms to this facet

  Overrides:
    `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

Copyright (c) Saxonica Limited. All rights reserved.