Package com.saxonica.ee.schema

## Class EnumerationFacetSet

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

-     public class EnumerationFacetSet
      extends Facet

  Represents the set of enumeration values defined on a single simple type, This is a "virtual" facet that combines all the enumeration facets in one simple type definition.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `EnumerationFacetSet()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addEnumerationValue​(AtomicSequence val, java.lang.String stringValue)` | Add a permitted value to the set of enumeration values.
    `void` | `checkFacetRestriction​(UserSimpleType type, SimpleType base, SchemaCompiler compiler)` | Check that this facet is legal when used on a type derived by restriction
    `Function` | `getFacetAsFunctionItem()` | Get a function item that represents this Facet schema component.
    `java.lang.String` | `getName()` | The name of this facet.
    `java.lang.String` | `getSharedInstance​(java.lang.String value)` | Get an instance of the facet value that is stored in the schema rather than the instance
    `AtomicSequence` | `getSharedInstance​(AtomicSequence value)` | Get an instance of the facet value that is stored in the schema rather than the instance
    `java.util.List<java.lang.String>` | `getStringValues()` | Get the enumeration values, as strings
    `java.lang.String` | `getValue()` | Get a string representation of the value of the facet
    `void` | `serializeFacet​(SchemaModelSerializer serializer)` | Serialize this facet
    `boolean` | `testAtomicValue​(AtomicValue value)` | Test whether an atomic value conforms to this facet
    `boolean` | `testListValue​(AtomicSequence value)` | Test whether a list value conforms to this facet.

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

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

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

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

- - ### Constructor Detail

    - #### EnumerationFacetSet

          public EnumerationFacetSet()

  - ### Method Detail

    - #### getName

          public java.lang.String getName()

      The name of this facet.
      Specified by:
        `getName` in class `Facet`
      Returns:
        "enumeration"

    - #### getStringValues

          public java.util.List<java.lang.String> getStringValues()

      Get the enumeration values, as strings
      Returns:
        the list of strings in the enumeration facets

    - #### addEnumerationValue

          public void addEnumerationValue​(AtomicSequence val,
                                          java.lang.String stringValue)

      Add a permitted value to the set of enumeration values. For internal use only.
      Parameters:
        `val` - the value to be added. This must be an atomic value or a sequence of atomic values.
        `stringValue` - the string value of the facet as written

    - #### getValue

          public java.lang.String getValue()

      Get a string representation of the value of the facet
      Specified by:
        `getValue` in class `Facet`
      Returns:
        the value of this facet, as a string

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

    - #### testListValue

          public boolean testListValue​(AtomicSequence value)

      Test whether a list value conforms to this facet. This is used only for the enumeration facet.
      Overrides:
        `testListValue` 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

    - #### getSharedInstance

          public java.lang.String getSharedInstance​(java.lang.String value)

      Get an instance of the facet value that is stored in the schema rather than the instance
      Parameters:
        `value` - the value required
      Returns:
        a string which is equal to the value required, but which if possible is the instance held in the compiled schema, reducing storage requirements in instances.

    - #### getSharedInstance

          public AtomicSequence getSharedInstance​(AtomicSequence value)

      Get an instance of the facet value that is stored in the schema rather than the instance
      Parameters:
        `value` - the value required
      Returns:
        a string which is equal to the value required, but which if possible is the instance held in the compiled schema, reducing storage requirements in instances.

    - #### serializeFacet

          public void serializeFacet​(SchemaModelSerializer serializer)
                              throws XPathException

      Serialize this facet
      Overrides:
        `serializeFacet` in class `Facet`
      Parameters:
        `serializer` - receives the content for serialization
      Throws:
        `XPathException` - if an error occurs writing the value to the output

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