net.sf.saxon.s9api
Class ConstructedItemType

java.lang.Object
  extended by net.sf.saxon.s9api.ItemType
      extended by net.sf.saxon.s9api.ConstructedItemType

 class ConstructedItemType
extends ItemType

An item type constructed by the ItemTypeFactory (as distinct from one that is predefined) This class is not user-visible.


Nested Class Summary
 
Nested classes/interfaces inherited from class net.sf.saxon.s9api.ItemType
ItemType.BuiltInAtomicItemType
 
Field Summary
 
Fields inherited from class net.sf.saxon.s9api.ItemType
ANY_ATOMIC_VALUE, ANY_ITEM, ANY_NODE, ANY_URI, BASE64_BINARY, BOOLEAN, BYTE, DATE, DATE_TIME, DATE_TIME_STAMP, DAY_TIME_DURATION, DECIMAL, DOUBLE, DURATION, ENTITY, FLOAT, G_DAY, G_MONTH, G_MONTH_DAY, G_YEAR, G_YEAR_MONTH, HEX_BINARY, ID, IDREF, INT, INTEGER, LANGUAGE, LONG, NAME, NCNAME, NEGATIVE_INTEGER, NMTOKEN, NON_NEGATIVE_INTEGER, NON_POSITIVE_INTEGER, NORMALIZED_STRING, NOTATION, NUMERIC, POSITIVE_INTEGER, PRECISION_DECIMAL, QNAME, SHORT, STRING, TIME, TOKEN, UNSIGNED_BYTE, UNSIGNED_INT, UNSIGNED_LONG, UNSIGNED_SHORT, UNTYPED_ATOMIC, YEAR_MONTH_DURATION
 
Constructor Summary
protected ConstructedItemType(ItemType underlyingType, Processor processor)
          Protected constructor
 
Method Summary
 ConversionRules getConversionRules()
          Get the conversion rules implemented by this type.
protected  Processor getProcessor()
          Get the underlying Processor
 ItemType getUnderlyingItemType()
          Method to get the underlying Saxon implementation object
 boolean matches(XdmItem item)
          Determine whether this item type matches a given item.
 boolean subsumes(ItemType other)
          Determine whether this ItemType subsumes another ItemType.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ConstructedItemType

protected ConstructedItemType(ItemType underlyingType,
                              Processor processor)
Protected constructor

Parameters:
underlyingType - the Saxon internal item type. Must not be null.
processor - The s9api processor Must not be null
Method Detail

getConversionRules

public ConversionRules getConversionRules()
Get the conversion rules implemented by this type. The conversion rules reflect variations between different versions of the W3C specifications, for example XSD 1.1 allows "+INF" as a lexical representation of xs:double, while XSD 1.0 does not.

Specified by:
getConversionRules in class ItemType
Returns:
the conversion rules

matches

public boolean matches(XdmItem item)
Determine whether this item type matches a given item.

Specified by:
matches in class ItemType
Parameters:
item - the item to be tested against this item type
Returns:
true if the item matches this item type, false if it does not match.

subsumes

public boolean subsumes(ItemType other)
Determine whether this ItemType subsumes another ItemType. Specifically, A.subsumes(B) is true if every value that matches the ItemType B also matches the ItemType A.

Specified by:
subsumes in class ItemType
Parameters:
other - the other ItemType
Returns:
true if this ItemType subsumes the other ItemType. This includes the case where A and B represent the same ItemType.
Since:
9.1

getUnderlyingItemType

public ItemType getUnderlyingItemType()
Method to get the underlying Saxon implementation object

This gives access to Saxon methods that may change from one release to another.

Specified by:
getUnderlyingItemType in class ItemType
Returns:
the underlying Saxon implementation object

getProcessor

protected Processor getProcessor()
Get the underlying Processor

Returns:
the processor used to create this ItemType. This will be null if the ItemType is one of the three static constant item types ItemType.ANY_ITEM, ItemType.ANY_NODE, or ItemType.ANY_ATOMIC_VALUE