## com.saxonica.schema
Class EnumerationFacetSet

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

All Implemented Interfaces:
  java.io.Serializable

    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.

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
`EnumerationFacetSet()`

Method Summary
`void` `addEnumerationValue(Value val, java.lang.String stringValue)` Add a permitted value to the set of enumeration values.
`void` `checkFacetRestriction(UserSimpleType type, SimpleType base)` Check that this facet is legal when used on a type derived by restriction
`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
`java.lang.String` `getValue()` Get a string representation of the value of the facet
`void` `serializeFacet(SchemaModelSerializer serializer)` Serialize this facet
`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
`boolean` `testListValue(Value value)` Test whether a list value conforms to this facet.

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

### setValue

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

  Set the string value of the facet

  Specified by:
    `setValue` in class `Facet`
  Parameters:
    `value` - the string value of the facet
  Throws:
    `java.lang.UnsupportedOperationException` - for facets that have no lexica value, specifically the facet containing the collected enumeration values
    `SchemaException` - if the value is not valid for this facet on this type

### addEnumerationValue

    public void addEnumerationValue(Value 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

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

### testListValue

    public boolean testListValue(Value 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.

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

Copyright (c) Saxonica Limited. All rights reserved.