com.saxonica.schema
Class EnumerationFacetSet

java.lang.Object
  extended by com.saxonica.schema.Facet
      extended by com.saxonica.schema.EnumerationFacetSet
All Implemented Interfaces:
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

Constructor Summary
EnumerationFacetSet()
           
 
Method Summary
 void addEnumerationValue(Value val, 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
 String getName()
          The name of this facet.
 String getSharedInstance(String value)
          Get an instance of the facet value that is stored in the schema rather than the instance
 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(Value value)
          Test whether a list value conforms to this facet.
 
Methods inherited from class com.saxonica.schema.Facet
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 String getName()
The name of this facet.

Specified by:
getName in class Facet
Returns:
"enumeration"

addEnumerationValue

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

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(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 String getSharedInstance(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.