## net.sf.saxon.type
Class Facet

    java.lang.Object
      |
      +--net.sf.saxon.type.Facet

All Implemented Interfaces:
  java.io.Serializable

public abstract class Facet
extends java.lang.Object
implements java.io.Serializable

Represents an XML Schema Facet. Most facets are represented by subclasses of this class, the only exception is whiteSpace.

See Also:
  Serialized Form

Field Summary
`static int` `COLLAPSE`
`static java.lang.String` `ENUMERATION`
`static java.lang.String` `FRACTIONDIGITS`
`static java.lang.String` `LENGTH`
`static java.lang.String` `MAX_EXCLUSIVE`
`static java.lang.String` `MAX_INCLUSIVE`
`static java.lang.String` `MAX_LENGTH`
`static java.lang.String` `MIN_EXCLUSIVE`
`static java.lang.String` `MIN_INCLUSIVE`
`static java.lang.String` `MIN_LENGTH`
`static java.lang.String` `PATTERN`
`static int` `PRESERVE` The values PRESERVE, REPLACE, and COLLAPSE represent the three options for whitespace normalization.
`static int` `REPLACE`
`static java.lang.String` `TOTALDIGITS`
`protected java.lang.String` `value` The value of this facet as a string
`static java.lang.String` `WHITESPACE`

Constructor Summary
`Facet()`

Method Summary
`boolean` `appliesToWholeList()` Test whether this is a facet that can be used to test the normalized value of a list type.
`void` `checkFacetRestriction(SimpleType 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 character (String) representation of this facet
`int` `getWhitespaceAction()` Get the whitespace action required by this facet: one of PRESERVE, REPLACE, or COLLAPSE.
`boolean` `isFixed()` Test if the facet is defined in the schema with fixed="true"
`void` `setFixed(boolean fixed)` Set whether the facet is defined as fixed
`boolean` `testAtomicValue(AtomicValue value)` Test whether an atomic value conforms to this facet
`boolean` `testLength(int count)` Test whether the length of a list conforms to this facet.
`long` `toLong()` Returns the numeric value of this facet

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### ENUMERATION

    public static final java.lang.String ENUMERATION

See Also:
  Constant Field Values

### LENGTH

    public static final java.lang.String LENGTH

See Also:
  Constant Field Values

### PATTERN

    public static final java.lang.String PATTERN

See Also:
  Constant Field Values

### MAX_EXCLUSIVE

    public static final java.lang.String MAX_EXCLUSIVE

See Also:
  Constant Field Values

### MAX_INCLUSIVE

    public static final java.lang.String MAX_INCLUSIVE

See Also:
  Constant Field Values

### MIN_EXCLUSIVE

    public static final java.lang.String MIN_EXCLUSIVE

See Also:
  Constant Field Values

### MIN_INCLUSIVE

    public static final java.lang.String MIN_INCLUSIVE

See Also:
  Constant Field Values

### MAX_LENGTH

    public static final java.lang.String MAX_LENGTH

See Also:
  Constant Field Values

### MIN_LENGTH

    public static final java.lang.String MIN_LENGTH

See Also:
  Constant Field Values

### WHITESPACE

    public static final java.lang.String WHITESPACE

See Also:
  Constant Field Values

### TOTALDIGITS

    public static final java.lang.String TOTALDIGITS

See Also:
  Constant Field Values

### FRACTIONDIGITS

    public static final java.lang.String FRACTIONDIGITS

See Also:
  Constant Field Values

### value

    protected java.lang.String value

  The value of this facet as a string

### PRESERVE

    public static final int PRESERVE

  The values PRESERVE, REPLACE, and COLLAPSE represent the three options for whitespace normalization. They are deliberately chosen in ascending strength order; given a number of whitespace facets, only the strongest needs to be carried out.

  See Also:
    Constant Field Values

### REPLACE

    public static final int REPLACE

See Also:
  Constant Field Values

### COLLAPSE

    public static final int COLLAPSE

See Also:
  Constant Field Values

Constructor Detail

### Facet

    public Facet()

Method Detail

### isFixed

    public boolean isFixed()

  Test if the facet is defined in the schema with fixed="true"

  Returns:
    true if fixed

### setFixed

    public void setFixed(boolean fixed)

  Set whether the facet is defined as fixed

  Parameters:
    `fixed` - true if the facet is fixed

### getName

    public java.lang.String getName()

  Returns the name of this Facet

  Returns:
    the name of this Facet

### getValue

    public java.lang.String getValue()

  Returns the character (String) representation of this facet

  Returns:
    the value of this facet

### toLong

    public long toLong()
                throws java.lang.NumberFormatException

  Returns the numeric value of this facet

  Returns:
    a long representation of the value of this facet
    `java.lang.NumberFormatException`

### checkFacetRestriction

    public void checkFacetRestriction(SimpleType type,
                                      SimpleType base)
                               throws SchemaException

  Check that this facet is legal when used on a type derived by restriction

  Parameters:
    `type` - the type on which the facet is defined
    `base` - the type from which the restricted type is derived
  Throws:
    `SchemaException` - if the facet is not legal

### appliesToWholeList

    public boolean appliesToWholeList()

  Test whether this is a facet that can be used to test the normalized value of a list type. (Specifically, this is true only for pattern facets and enumeration facets)

### testAtomicValue

    public boolean testAtomicValue(AtomicValue value)

  Test whether an atomic value conforms to this 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

### testLength

    public boolean testLength(int count)

  Test whether the length of a list conforms to this facet. Always true except for length facets

### getWhitespaceAction

    public int getWhitespaceAction()

  Get the whitespace action required by this facet: one of PRESERVE, REPLACE, or COLLAPSE. Returns a dummy value of PRESERVE for facets other than whitespace facets.