org.apache.xmlbeans
Interface SchemaType

All Superinterfaces:
SchemaAnnotated, SchemaComponent

public interface SchemaType
extends SchemaComponent, SchemaAnnotated

Represents a schema type.

SchemaType is the metadata "type" class for XmlObject, and it plays the analogous role for XmlObject that Class plays for Object.

Every XML Bean class corresponds to a singleton SchemaType object obtainable by ClassName.type (e.g., XmlNonPositiveInteger.type), and every XML Bean instance has an actual SchemaType, obtainable by XmlObject.schemaType(). The ClassName.type and schemaType() mechanisms are analogous to the ordinary Java ClassName.class and obj.getClass() mechanisms.

All schema types are represented by a SchemaType, this includes all types regardless of whether they are built-in or user-defined, compiled or uncompiled, simple or complex.

In addition, a compiled XML Bean type system includes special "document" schema types each representing a document containing nothing but a single element for each global element, and special "attribute" schema types each representing a fragment containing nothing but a single global attribute for global attribute.

Do not confuse Schema Types with other types of Schema Components such as Global Elements, Global Attributes, Named Model Groups, or Attribute Groups. SchemaType represents a Type component, not any of the other kinds of components. There are different kinds of metadata objects for the different Schema components.

The space of SchemaTypes is divided as follows:

See Also:
SchemaTypeLoader, XmlObject.schemaType(), SimpleValue.instanceType()

Nested Class Summary
static class SchemaType.Ref
          Used to allow on-demand loading of types.
 
Field Summary
static int ATOMIC
          Atomic type.
static int BTC_ANY_SIMPLE
          xs:anySimpleType, aka XmlAnySimpleType.type
static int BTC_ANY_TYPE
          xs:anyType, aka XmlObject.type
static int BTC_ANY_URI
          xs:anyURI, aka XmlAnyURI.type
static int BTC_BASE_64_BINARY
          xs:base64Binary, aka XmlBase64Binary.type
static int BTC_BOOLEAN
          xs:boolean, aka XmlBoolean.type
static int BTC_BYTE
          xs:byte, aka XmlByte.type
static int BTC_DATE
          xs:date, aka XmlDate.type
static int BTC_DATE_TIME
          xs:dateTime, aka XmlDateTime.type
static int BTC_DECIMAL
          xs:decimal, aka XmlDecimal.type
static int BTC_DOUBLE
          xs:double, aka XmlDouble.type
static int BTC_DURATION
          xs:duration, aka XmlDuration.type
static int BTC_ENTITIES
          xs:ENTITIES, aka XmlENTITIES.type
static int BTC_ENTITY
          xs:ENTITY, aka XmlENTITY.type
static int BTC_FIRST_PRIMITIVE
          The primitive types have codes between BTC_FIRST_PRIMITIVE and BTC_LAST_PRIMITIVE inclusive
static int BTC_FLOAT
          xs:float, aka XmlFloat.type
static int BTC_G_DAY
          xs:gDay, aka XmlGDay.type
static int BTC_G_MONTH
          xs:gMonth, aka XmlGMonth.type
static int BTC_G_MONTH_DAY
          xs:gMonthDay, aka XmlGMonthDay.type
static int BTC_G_YEAR
          xs:gYear, aka XmlGYear.type
static int BTC_G_YEAR_MONTH
          xs:gYearMonth, aka XmlGYearMonth.type
static int BTC_HEX_BINARY
          xs:hexBinary, aka XmlBase64Binary.type
static int BTC_ID
          xs:ID, aka XmlID.type
static int BTC_IDREF
          xs:IDREF, aka XmlIDREF.type
static int BTC_IDREFS
          xs:IDREFS, aka XmlIDREFS.type
static int BTC_INT
          xs:int, aka XmlInt.type
static int BTC_INTEGER
          xs:integer, aka XmlInteger.type
static int BTC_LANGUAGE
          xs:language, aka XmlLanguage.type
static int BTC_LAST_BUILTIN
           
static int BTC_LAST_PRIMITIVE
          The primitive types have codes between BTC_FIRST_PRIMITIVE and BTC_LAST_PRIMITIVE inclusive
static int BTC_LONG
          xs:long, aka XmlLong.type
static int BTC_NAME
          xs:Name, aka XmlName.type
static int BTC_NCNAME
          xs:NCName, aka XmlNCName.type
static int BTC_NEGATIVE_INTEGER
          xs:NegativeInteger, aka XmlNegativeInteger.type
static int BTC_NMTOKEN
          xs:NMTOKEN, aka XmlNMTOKEN.type
static int BTC_NMTOKENS
          xs:NMTOKENS, aka XmlNMTOKENS.type
static int BTC_NON_NEGATIVE_INTEGER
          xs:nonNegativeInteger, aka XmlNonNegativeInteger.type
static int BTC_NON_POSITIVE_INTEGER
          xs:nonPositiveInteger, aka XmlNonPositiveInteger.type
static int BTC_NORMALIZED_STRING
          xs:normalizedString, aka XmlNormalizedString.type
static int BTC_NOT_BUILTIN
          Not a builtin type
static int BTC_NOTATION
          xs:NOTATION, aka XmlNOTATION.type
static int BTC_POSITIVE_INTEGER
          xs:positiveInteger, aka XmlPositiveInteger.type
static int BTC_QNAME
          xs:QName, aka XmlQName.type
static int BTC_SHORT
          xs:short, aka XmlShort.type
static int BTC_STRING
          xs:string, aka XmlString.type
static int BTC_TIME
          xs:time, aka XmlTime.type
static int BTC_TOKEN
          xs:token, aka XmlToken.type
static int BTC_UNSIGNED_BYTE
          xs:unsignedByte, aka XmlUnsignedByte.type
static int BTC_UNSIGNED_INT
          xs:unsignedInt, aka XmlUnsignedInt.type
static int BTC_UNSIGNED_LONG
          xs:unsignedLong, aka XmlUnsignedLong.type
static int BTC_UNSIGNED_SHORT
          xs:unsignedShort, aka XmlUnsignedShort.type
static int DT_EXTENSION
          Derived by extension.
static int DT_NOT_DERIVED
          Not derived.
static int DT_RESTRICTION
          Derived by restriction.
static int ELEMENT_CONTENT
          Element-only content.
static int EMPTY_CONTENT
          Empty content.
static int FACET_ENUMERATION
          xs:enumeration facet - use getEnumerationValues() instead
static int FACET_FRACTION_DIGITS
          xs:fractionDigits facet
static int FACET_LENGTH
          xs:length facet
static int FACET_MAX_EXCLUSIVE
          xs:maxExclusive facet
static int FACET_MAX_INCLUSIVE
          xs:maxInclusive facet
static int FACET_MAX_LENGTH
          xs:maxLength facet
static int FACET_MIN_EXCLUSIVE
          xs:minExclusive facet
static int FACET_MIN_INCLUSIVE
          xs:minInclusive facet
static int FACET_MIN_LENGTH
          xs:minLength facet
static int FACET_PATTERN
          xs:pattern facet - use matchPatternFacet(java.lang.String) instead
static int FACET_TOTAL_DIGITS
          xs:totalDigits facet
static int FACET_WHITE_SPACE
          xs:whiteSpace facet - use getWhiteSpaceRule() instead
static int LAST_BASIC_FACET
           
static int LAST_FACET
          The last ordinary facet code
static int LAST_PROPERTY
          The last property code
static int LIST
          Simple list type.
static int MIXED_CONTENT
          Mixed content.
static int NOT_COMPLEX_TYPE
          Not a complex type.
static int NOT_DECIMAL
          Not a decimal restriction.
static int NOT_SIMPLE
          Not a simple type or simple content.
static int PARTIAL_ORDER
          Partially ordered.
static int PROPERTY_BOUNDED
           
static int PROPERTY_CARDINALITY
           
static int PROPERTY_NUMERIC
           
static int PROPERTY_ORDERED
           
static int SIMPLE_CONTENT
          Simple content.
static int SIZE_BIG_DECIMAL
          Fits in a BigDecimal.
static int SIZE_BIG_INTEGER
          Fits in a BigInteger.
static int SIZE_BYTE
          Fits in a byte.
static int SIZE_INT
          Fits in an int.
static int SIZE_LONG
          Fits in a long.
static int SIZE_SHORT
          Fits in a short.
static int TOTAL_ORDER
          Totally ordered.
static int UNION
          Union type.
static int UNORDERED
          Unordered.
static int WS_COLLAPSE
          Whitespace collapsed and trimmed.
static int WS_PRESERVE
          Whitespace preserved.
static int WS_REPLACE
          Whitespace replaced by ordinary space.
static int WS_UNSPECIFIED
          Whitespace rule unspecified.
 
Fields inherited from interface org.apache.xmlbeans.SchemaComponent
ANNOTATION, ATTRIBUTE, ATTRIBUTE_GROUP, ELEMENT, IDENTITY_CONSTRAINT, MODEL_GROUP, NOTATION, TYPE
 
Method Summary
 boolean blockExtension()
          True if extensions of this type cannot be substituted for this type
 boolean blockRestriction()
          True if restrictions of this type cannot be substituted for this type
 SchemaStringEnumEntry enumEntryForString(String s)
          Returns the string enum entry corresponding to the given enumerated string, or null if there is no match or this type is not a string enumeration.
 StringEnumAbstractBase enumForInt(int i)
          Returns the string enum value corresponding to the given enumerated string, or null if there is no match or this type is not a string enumeration.
 StringEnumAbstractBase enumForString(String s)
          Returns the string enum value corresponding to the given enumerated string, or null if there is no match or this type is not a string enumeration.
 boolean finalExtension()
          True if other types cannot extend this type (only for complex types)
 boolean finalList()
          True if list derivation of this type is prohibited (only for simple types)
 boolean finalRestriction()
          True if other types cannot restrict this type
 boolean finalUnion()
          True if union derivation of this type is prohibited (only for simple types)
 SchemaType[] getAnonymousTypes()
          The array of inner (anonymous) types defined within this type.
 int getAnonymousUnionMemberOrdinal()
          For anonymous types defined inside a union only: gets the integer indicating the declaration order of this type within the outer union type, or zero if this is not applicable.
 SchemaAttributeModel getAttributeModel()
          Returns the attribute model for this complex type (with simple or complex content).
 SchemaProperty[] getAttributeProperties()
          Returns all the SchemaProperties corresponding to attributes.
 SchemaProperty getAttributeProperty(QName attrName)
          Returns a SchemaProperty corresponding to an attribute within this complex type by looking up the attribute name.
 SchemaType getAttributeType(QName eltName, SchemaTypeLoader wildcardTypeLoader)
          Returns the type of an attribute based on the attribute name and the type system within which (wildcard) names are resolved.
 QName getAttributeTypeAttributeName()
          Returns the attribute qname if this is a attribute type, or null otherwise.
 SchemaType getBaseEnumType()
          If this is a string enumeration, returns the most basic base schema type that this enuemration is based on.
 SchemaType getBaseType()
          Returns base restriction or extension type.
 int getBuiltinTypeCode()
          Returns an integer for builtin types that can be used for quick comparison.
 SchemaType getCommonBaseType(SchemaType type)
          Returns common base type with the given type.
 SchemaField getContainerField()
          The parent schema element.
 SchemaType getContentBasedOnType()
          For complex types with simple content returns the base type for this type's content.
 SchemaParticle getContentModel()
          Returns the complex content model for this complex type (with complex content).
 int getContentType()
          Returns EMPTY_CONTENT, SIMPLE_CONTENT, ELEMENT_CONTENT, or MIXED_CONTENT for complex types.
 int getDecimalSize()
          For atomic numeric restrictions of decimal only: the numeric size category.
 int getDerivationType()
          Returns an integer for the derivation type, either DT_EXTENSION, DT_RESTRICTION, DT_NOT_DERIVED.
 SchemaProperty[] getDerivedProperties()
          Returns the SchemaProperties defined by this complex type, exclusive of the base type (if any).
 QName getDocumentElementName()
          Returns the document element name if this is a document type, or null otherwise.
 SchemaProperty[] getElementProperties()
          Returns all the SchemaProperties corresponding to elements.
 SchemaProperty getElementProperty(QName eltName)
          Returns a SchemaProperty corresponding to an element within this complex type by looking up the element name.
 SchemaTypeElementSequencer getElementSequencer()
          Returns a SchemaTypeElementSequencer object, which can then be used to validate complex content inside this element.
 SchemaType getElementType(QName eltName, QName xsiType, SchemaTypeLoader wildcardTypeLoader)
          Returns the type of a child element based on the element name and an xsi:type attribute (and the type system within which names are resolved).
 XmlAnySimpleType[] getEnumerationValues()
          Returns the array of valid objects from the enumeration facet, null if no enumeration defined.
 Class getEnumJavaClass()
          The Java class corresponding to the enumeration type for this schema type, if applicable (or null if not an enumeration).
 XmlAnySimpleType getFacet(int facetCode)
          Returns the value of the given facet, or null if none is set.
 String getFullJavaImplName()
          The fully-qualified Java type name of the implementation class.
 String getFullJavaName()
          The fully-qualified Java type name of the class.
 Class getJavaClass()
          The Java class corresponding to this schema type.
 SchemaType getListItemType()
          For list types only: get the item type.
 QName getName()
          The name used to describe the type in the schema.
 SchemaType getOuterType()
          The outer schema type.
 String[] getPatterns()
          True
 SchemaType getPrimitiveType()
          For atomic types only: get the primitive type underlying this one.
 SchemaProperty[] getProperties()
          Returns all the SchemaProperties within this complex type, elements followed by attributes.
 SchemaType.Ref getRef()
          Retruns a SchemaType.Ref pointing to this schema type itself.
 String getShortJavaImplName()
          The short unqualfiied Java name for the implementation class.
 String getShortJavaName()
          The short unqualfiied Java name for the class.
 int getSimpleVariety()
          Returns whether the simple type is ATOMIC, UNION, or LIST.
 SchemaStringEnumEntry[] getStringEnumEntries()
          Returns the array of SchemaStringEnumEntries for this type: this array includes information about the java constant names used for each string enum entry.
 SchemaTypeSystem getTypeSystem()
          Returns the SchemaTypeLoader in which this type was defined.
 SchemaType getUnionCommonBaseType()
          For union types only: get the most specific common base type of the constituent member types.
 SchemaType[] getUnionConstituentTypes()
          For union types only: get the constituent member types.
 SchemaType[] getUnionMemberTypes()
          For union types only: get the shallow member types.
 SchemaType[] getUnionSubTypes()
          For union types only: gets the full tree of member types.
 Object getUserData()
          Returns user-specific information.
 int getWhiteSpaceRule()
          For nonunion simple types: get the whitespace rule.
 boolean hasAllContent()
          True if the complex content model for this complex type is an "all" group.
 boolean hasAttributeWildcards()
          True if this type permits wildcard attributes.
 boolean hasElementWildcards()
          True if this type permits element wildcards.
 boolean hasPatternFacet()
          True if there are regex pattern facents
 boolean hasStringEnumValues()
          True if this is a string enum where an integer is assigned to each enumerated value.
 boolean isAbstract()
          True if this type cannot be used directly in instances
 boolean isAnonymousType()
          True if the Xsd type is anonymous (i.e., not top-level).
 boolean isAssignableFrom(SchemaType type)
          True if the specified type derives from this type (or if it is the same type).
 boolean isAttributeType()
          True if this is a attribute type.
 boolean isBounded()
          True if bounded.
 boolean isBuiltinType()
          True for any of the 40+ built-in types.
 boolean isCompiled()
          True if this schema type was compiled to have a corresponding Java class.
 boolean isDocumentType()
          True if this is a document type.
 boolean isFacetFixed(int facetCode)
          True if the given facet is fixed.
 boolean isFinite()
          True if finite.
 boolean isNoType()
          True for the type object that represents a the absence of a determined type.
 boolean isNumeric()
          True if numeric.
 boolean isOrderSensitive()
          True if particles have same defaults, nillability, etc, that are invariant when order changes.
 boolean isPrimitiveType()
          True for any of the 20 primitive types (plus anySimpleType)
 boolean isSimpleType()
          True for the anySimpleType and any restrictions/unions/lists.
 boolean isSkippedAnonymousType()
          True if this anonymous type has no corresponding Java type.
 boolean isURType()
          True for anyType and anySimpleType.
 boolean isValidSubstitution(QName name)
          For document types, true if the given name can be substituted for the document element name.
 boolean matchPatternFacet(String s)
          True if the given string matches the pattern facets.
 XmlAnySimpleType newValue(Object v)
          Creates an immutable simple type value that does not reside in a tree.
 int ordered()
          True if ordered.
 QNameSet qnameSetForWildcardAttributes()
          Returns a QNameSet of attributes that may exist in wildcard buchets and are not explicitly defined in this schema type.
 QNameSet qnameSetForWildcardElements()
          Returns a QNameSet of elements that may exist in wildcard buchets and are not explicitly defined in this schema type.
 
Methods inherited from interface org.apache.xmlbeans.SchemaComponent
getComponentRef, getComponentType, getSourceName
 
Methods inherited from interface org.apache.xmlbeans.SchemaAnnotated
getAnnotation
 

Field Detail

DT_NOT_DERIVED

static final int DT_NOT_DERIVED
Not derived. True for XmlObject.type only. See getDerivationType().

See Also:
Constant Field Values

DT_RESTRICTION

static final int DT_RESTRICTION
Derived by restriction. See getDerivationType().

See Also:
Constant Field Values

DT_EXTENSION

static final int DT_EXTENSION
Derived by extension. See getDerivationType().

See Also:
Constant Field Values

BTC_NOT_BUILTIN

static final int BTC_NOT_BUILTIN
Not a builtin type

See Also:
Constant Field Values

BTC_ANY_TYPE

static final int BTC_ANY_TYPE
xs:anyType, aka XmlObject.type

See Also:
Constant Field Values

BTC_FIRST_PRIMITIVE

static final int BTC_FIRST_PRIMITIVE
The primitive types have codes between BTC_FIRST_PRIMITIVE and BTC_LAST_PRIMITIVE inclusive

See Also:
Constant Field Values

BTC_ANY_SIMPLE

static final int BTC_ANY_SIMPLE
xs:anySimpleType, aka XmlAnySimpleType.type

See Also:
Constant Field Values

BTC_BOOLEAN

static final int BTC_BOOLEAN
xs:boolean, aka XmlBoolean.type

See Also:
Constant Field Values

BTC_BASE_64_BINARY

static final int BTC_BASE_64_BINARY
xs:base64Binary, aka XmlBase64Binary.type

See Also:
Constant Field Values

BTC_HEX_BINARY

static final int BTC_HEX_BINARY
xs:hexBinary, aka XmlBase64Binary.type

See Also:
Constant Field Values

BTC_ANY_URI

static final int BTC_ANY_URI
xs:anyURI, aka XmlAnyURI.type

See Also:
Constant Field Values

BTC_QNAME

static final int BTC_QNAME
xs:QName, aka XmlQName.type

See Also:
Constant Field Values

BTC_NOTATION

static final int BTC_NOTATION
xs:NOTATION, aka XmlNOTATION.type

See Also:
Constant Field Values

BTC_FLOAT

static final int BTC_FLOAT
xs:float, aka XmlFloat.type

See Also:
Constant Field Values

BTC_DOUBLE

static final int BTC_DOUBLE
xs:double, aka XmlDouble.type

See Also:
Constant Field Values

BTC_DECIMAL

static final int BTC_DECIMAL
xs:decimal, aka XmlDecimal.type

See Also:
Constant Field Values

BTC_STRING

static final int BTC_STRING
xs:string, aka XmlString.type

See Also:
Constant Field Values

BTC_DURATION

static final int BTC_DURATION
xs:duration, aka XmlDuration.type

See Also:
Constant Field Values

BTC_DATE_TIME

static final int BTC_DATE_TIME
xs:dateTime, aka XmlDateTime.type

See Also:
Constant Field Values

BTC_TIME

static final int BTC_TIME
xs:time, aka XmlTime.type

See Also:
Constant Field Values

BTC_DATE

static final int BTC_DATE
xs:date, aka XmlDate.type

See Also:
Constant Field Values

BTC_G_YEAR_MONTH

static final int BTC_G_YEAR_MONTH
xs:gYearMonth, aka XmlGYearMonth.type

See Also:
Constant Field Values

BTC_G_YEAR

static final int BTC_G_YEAR
xs:gYear, aka XmlGYear.type

See Also:
Constant Field Values

BTC_G_MONTH_DAY

static final int BTC_G_MONTH_DAY
xs:gMonthDay, aka XmlGMonthDay.type

See Also:
Constant Field Values

BTC_G_DAY

static final int BTC_G_DAY
xs:gDay, aka XmlGDay.type

See Also:
Constant Field Values

BTC_G_MONTH

static final int BTC_G_MONTH
xs:gMonth, aka XmlGMonth.type

See Also:
Constant Field Values

BTC_LAST_PRIMITIVE

static final int BTC_LAST_PRIMITIVE
The primitive types have codes between BTC_FIRST_PRIMITIVE and BTC_LAST_PRIMITIVE inclusive

See Also:
Constant Field Values

BTC_INTEGER

static final int BTC_INTEGER
xs:integer, aka XmlInteger.type

See Also:
Constant Field Values

BTC_LONG

static final int BTC_LONG
xs:long, aka XmlLong.type

See Also:
Constant Field Values

BTC_INT

static final int BTC_INT
xs:int, aka XmlInt.type

See Also:
Constant Field Values

BTC_SHORT

static final int BTC_SHORT
xs:short, aka XmlShort.type

See Also:
Constant Field Values

BTC_BYTE

static final int BTC_BYTE
xs:byte, aka XmlByte.type

See Also:
Constant Field Values

BTC_NON_POSITIVE_INTEGER

static final int BTC_NON_POSITIVE_INTEGER
xs:nonPositiveInteger, aka XmlNonPositiveInteger.type

See Also:
Constant Field Values

BTC_NEGATIVE_INTEGER

static final int BTC_NEGATIVE_INTEGER
xs:NegativeInteger, aka XmlNegativeInteger.type

See Also:
Constant Field Values

BTC_NON_NEGATIVE_INTEGER

static final int BTC_NON_NEGATIVE_INTEGER
xs:nonNegativeInteger, aka XmlNonNegativeInteger.type

See Also:
Constant Field Values

BTC_POSITIVE_INTEGER

static final int BTC_POSITIVE_INTEGER
xs:positiveInteger, aka XmlPositiveInteger.type

See Also:
Constant Field Values

BTC_UNSIGNED_LONG

static final int BTC_UNSIGNED_LONG
xs:unsignedLong, aka XmlUnsignedLong.type

See Also:
Constant Field Values

BTC_UNSIGNED_INT

static final int BTC_UNSIGNED_INT
xs:unsignedInt, aka XmlUnsignedInt.type

See Also:
Constant Field Values

BTC_UNSIGNED_SHORT

static final int BTC_UNSIGNED_SHORT
xs:unsignedShort, aka XmlUnsignedShort.type

See Also:
Constant Field Values

BTC_UNSIGNED_BYTE

static final int BTC_UNSIGNED_BYTE
xs:unsignedByte, aka XmlUnsignedByte.type

See Also:
Constant Field Values

BTC_NORMALIZED_STRING

static final int BTC_NORMALIZED_STRING
xs:normalizedString, aka XmlNormalizedString.type

See Also:
Constant Field Values

BTC_TOKEN

static final int BTC_TOKEN
xs:token, aka XmlToken.type

See Also:
Constant Field Values

BTC_NAME

static final int BTC_NAME
xs:Name, aka XmlName.type

See Also:
Constant Field Values

BTC_NCNAME

static final int BTC_NCNAME
xs:NCName, aka XmlNCName.type

See Also:
Constant Field Values

BTC_LANGUAGE

static final int BTC_LANGUAGE
xs:language, aka XmlLanguage.type

See Also:
Constant Field Values

BTC_ID

static final int BTC_ID
xs:ID, aka XmlID.type

See Also:
Constant Field Values

BTC_IDREF

static final int BTC_IDREF
xs:IDREF, aka XmlIDREF.type

See Also:
Constant Field Values

BTC_IDREFS

static final int BTC_IDREFS
xs:IDREFS, aka XmlIDREFS.type

See Also:
Constant Field Values

BTC_ENTITY

static final int BTC_ENTITY
xs:ENTITY, aka XmlENTITY.type

See Also:
Constant Field Values

BTC_ENTITIES

static final int BTC_ENTITIES
xs:ENTITIES, aka XmlENTITIES.type

See Also:
Constant Field Values

BTC_NMTOKEN

static final int BTC_NMTOKEN
xs:NMTOKEN, aka XmlNMTOKEN.type

See Also:
Constant Field Values

BTC_NMTOKENS

static final int BTC_NMTOKENS
xs:NMTOKENS, aka XmlNMTOKENS.type

See Also:
Constant Field Values

BTC_LAST_BUILTIN

static final int BTC_LAST_BUILTIN
See Also:
Constant Field Values

NOT_COMPLEX_TYPE

static final int NOT_COMPLEX_TYPE
Not a complex type. See getContentType().

See Also:
Constant Field Values

EMPTY_CONTENT

static final int EMPTY_CONTENT
Empty content. See getContentType().

See Also:
Constant Field Values

SIMPLE_CONTENT

static final int SIMPLE_CONTENT
Simple content. See getContentType().

See Also:
Constant Field Values

ELEMENT_CONTENT

static final int ELEMENT_CONTENT
Element-only content. See getContentType().

See Also:
Constant Field Values

MIXED_CONTENT

static final int MIXED_CONTENT
Mixed content. See getContentType().

See Also:
Constant Field Values

FACET_LENGTH

static final int FACET_LENGTH
xs:length facet

See Also:
Constant Field Values

FACET_MIN_LENGTH

static final int FACET_MIN_LENGTH
xs:minLength facet

See Also:
Constant Field Values

FACET_MAX_LENGTH

static final int FACET_MAX_LENGTH
xs:maxLength facet

See Also:
Constant Field Values

FACET_MIN_EXCLUSIVE

static final int FACET_MIN_EXCLUSIVE
xs:minExclusive facet

See Also:
Constant Field Values

FACET_MIN_INCLUSIVE

static final int FACET_MIN_INCLUSIVE
xs:minInclusive facet

See Also:
Constant Field Values

FACET_MAX_INCLUSIVE

static final int FACET_MAX_INCLUSIVE
xs:maxInclusive facet

See Also:
Constant Field Values

FACET_MAX_EXCLUSIVE

static final int FACET_MAX_EXCLUSIVE
xs:maxExclusive facet

See Also:
Constant Field Values

FACET_TOTAL_DIGITS

static final int FACET_TOTAL_DIGITS
xs:totalDigits facet

See Also:
Constant Field Values

FACET_FRACTION_DIGITS

static final int FACET_FRACTION_DIGITS
xs:fractionDigits facet

See Also:
Constant Field Values

LAST_BASIC_FACET

static final int LAST_BASIC_FACET
See Also:
Constant Field Values

FACET_WHITE_SPACE

static final int FACET_WHITE_SPACE
xs:whiteSpace facet - use getWhiteSpaceRule() instead

See Also:
Constant Field Values

FACET_PATTERN

static final int FACET_PATTERN
xs:pattern facet - use matchPatternFacet(java.lang.String) instead

See Also:
Constant Field Values

FACET_ENUMERATION

static final int FACET_ENUMERATION
xs:enumeration facet - use getEnumerationValues() instead

See Also:
Constant Field Values

LAST_FACET

static final int LAST_FACET
The last ordinary facet code

See Also:
Constant Field Values

PROPERTY_ORDERED

static final int PROPERTY_ORDERED
See Also:
ordered(), Constant Field Values

PROPERTY_BOUNDED

static final int PROPERTY_BOUNDED
See Also:
isBounded(), Constant Field Values

PROPERTY_CARDINALITY

static final int PROPERTY_CARDINALITY
See Also:
isFinite(), Constant Field Values

PROPERTY_NUMERIC

static final int PROPERTY_NUMERIC
See Also:
isNumeric(), Constant Field Values

LAST_PROPERTY

static final int LAST_PROPERTY
The last property code

See Also:
Constant Field Values

UNORDERED

static final int UNORDERED
Unordered. See ordered().

See Also:
Constant Field Values

PARTIAL_ORDER

static final int PARTIAL_ORDER
Partially ordered. See ordered().

See Also:
Constant Field Values

TOTAL_ORDER

static final int TOTAL_ORDER
Totally ordered. See ordered().

See Also:
Constant Field Values

NOT_SIMPLE

static final int NOT_SIMPLE
Not a simple type or simple content. See getSimpleVariety().

See Also:
Constant Field Values

ATOMIC

static final int ATOMIC
Atomic type. See getSimpleVariety()

See Also:
Constant Field Values

UNION

static final int UNION
Union type. See getSimpleVariety()

See Also:
Constant Field Values

LIST

static final int LIST
Simple list type. See getSimpleVariety()

See Also:
Constant Field Values

NOT_DECIMAL

static final int NOT_DECIMAL
Not a decimal restriction. See getDecimalSize().

See Also:
Constant Field Values

SIZE_BYTE

static final int SIZE_BYTE
Fits in a byte. See getDecimalSize().

See Also:
Constant Field Values

SIZE_SHORT

static final int SIZE_SHORT
Fits in a short. See getDecimalSize().

See Also:
Constant Field Values

SIZE_INT

static final int SIZE_INT
Fits in an int. See getDecimalSize().

See Also:
Constant Field Values

SIZE_LONG

static final int SIZE_LONG
Fits in a long. See getDecimalSize().

See Also:
Constant Field Values

SIZE_BIG_INTEGER

static final int SIZE_BIG_INTEGER
Fits in a BigInteger. See getDecimalSize().

See Also:
Constant Field Values

SIZE_BIG_DECIMAL

static final int SIZE_BIG_DECIMAL
Fits in a BigDecimal. See getDecimalSize().

See Also:
Constant Field Values

WS_UNSPECIFIED

static final int WS_UNSPECIFIED
Whitespace rule unspecified. See getWhiteSpaceRule().

See Also:
Constant Field Values

WS_PRESERVE

static final int WS_PRESERVE
Whitespace preserved. See getWhiteSpaceRule().

See Also:
Constant Field Values

WS_REPLACE

static final int WS_REPLACE
Whitespace replaced by ordinary space. See getWhiteSpaceRule().

See Also:
Constant Field Values

WS_COLLAPSE

static final int WS_COLLAPSE
Whitespace collapsed and trimmed. See getWhiteSpaceRule().

See Also:
Constant Field Values
Method Detail

getName

QName getName()
The name used to describe the type in the schema. Null if the type is anonymous (nested), or if it is a document type.

Specified by:
getName in interface SchemaComponent

getContainerField

SchemaField getContainerField()
The parent schema element. Null for top-level (named) types and document types.


isDocumentType

boolean isDocumentType()
True if this is a document type.

Document types are generated for every global element. A document type is an unnamed complex type that contains exactly one element: we define these types, because they are the types of the "documents" which contain the defined global elements, and they all turn into Java types. (Named ElementnameDocument.)


isAttributeType

boolean isAttributeType()
True if this is a attribute type.

Attribute types are generated for every global attribute. An attribute type is an unnamed complex type that contains exactly one attribute: we define these types, because they are the types of the "attribute documents" which contain the defined global attribute, and they all turn into Java types. (Named AttributenameAttribute.)


getDocumentElementName

QName getDocumentElementName()
Returns the document element name if this is a document type, or null otherwise.


getAttributeTypeAttributeName

QName getAttributeTypeAttributeName()
Returns the attribute qname if this is a attribute type, or null otherwise.


getOuterType

SchemaType getOuterType()
The outer schema type. Null for top-level (named) types.


isSkippedAnonymousType

boolean isSkippedAnonymousType()
True if this anonymous type has no corresponding Java type. True for anonymous types nested within simple type restrictions.


isCompiled

boolean isCompiled()
True if this schema type was compiled to have a corresponding Java class.


getFullJavaName

String getFullJavaName()
The fully-qualified Java type name of the class.


getShortJavaName

String getShortJavaName()
The short unqualfiied Java name for the class.


getFullJavaImplName

String getFullJavaImplName()
The fully-qualified Java type name of the implementation class.


getShortJavaImplName

String getShortJavaImplName()
The short unqualfiied Java name for the implementation class.


getJavaClass

Class getJavaClass()
The Java class corresponding to this schema type.


getEnumJavaClass

Class getEnumJavaClass()
The Java class corresponding to the enumeration type for this schema type, if applicable (or null if not an enumeration).


getUserData

Object getUserData()
Returns user-specific information.

See Also:
SchemaBookmark

isAnonymousType

boolean isAnonymousType()
True if the Xsd type is anonymous (i.e., not top-level).


isBuiltinType

boolean isBuiltinType()
True for any of the 40+ built-in types.


isSimpleType

boolean isSimpleType()
True for the anySimpleType and any restrictions/unions/lists.


getBaseType

SchemaType getBaseType()
Returns base restriction or extension type. Unions and lists return the anySimpleType.


getCommonBaseType

SchemaType getCommonBaseType(SchemaType type)
Returns common base type with the given type. The returned type is the most specific declared base type of both types.


isAssignableFrom

boolean isAssignableFrom(SchemaType type)
True if the specified type derives from this type (or if it is the same type). Note that XmlObject.type (the anyType) is assignable from all type, and the XmlBeans.noType (the absence of a type) is assignable to all types.


getDerivationType

int getDerivationType()
Returns an integer for the derivation type, either DT_EXTENSION, DT_RESTRICTION, DT_NOT_DERIVED.


getBuiltinTypeCode

int getBuiltinTypeCode()
Returns an integer for builtin types that can be used for quick comparison.


isURType

boolean isURType()
True for anyType and anySimpleType.


isNoType

boolean isNoType()
True for the type object that represents a the absence of a determined type. XML Objects whose type isNoType() are never valid.


getTypeSystem

SchemaTypeSystem getTypeSystem()
Returns the SchemaTypeLoader in which this type was defined. Complex types are defined and used in exactly one schema type system, but simple types are defined in one type system and can be used in any number of type systems. The most common case is the builtin types, which are defined in the builtin type system and used elsewhere.

Specified by:
getTypeSystem in interface SchemaComponent

isAbstract

boolean isAbstract()
True if this type cannot be used directly in instances


finalExtension

boolean finalExtension()
True if other types cannot extend this type (only for complex types)


finalRestriction

boolean finalRestriction()
True if other types cannot restrict this type


finalList

boolean finalList()
True if list derivation of this type is prohibited (only for simple types)


finalUnion

boolean finalUnion()
True if union derivation of this type is prohibited (only for simple types)


blockExtension

boolean blockExtension()
True if extensions of this type cannot be substituted for this type


blockRestriction

boolean blockRestriction()
True if restrictions of this type cannot be substituted for this type


getContentType

int getContentType()
Returns EMPTY_CONTENT, SIMPLE_CONTENT, ELEMENT_CONTENT, or MIXED_CONTENT for complex types. For noncomplex types, returns NOT_COMPLEX_TYPE.


getContentBasedOnType

SchemaType getContentBasedOnType()
For complex types with simple content returns the base type for this type's content. In most cases, this is the same as the base type, but it can also be an anonymous type.


getElementSequencer

SchemaTypeElementSequencer getElementSequencer()
Returns a SchemaTypeElementSequencer object, which can then be used to validate complex content inside this element. This is useful for example for trying out different names and see which one would be valid as a child of this element.


getAnonymousTypes

SchemaType[] getAnonymousTypes()
The array of inner (anonymous) types defined within this type.


getElementProperty

SchemaProperty getElementProperty(QName eltName)
Returns a SchemaProperty corresponding to an element within this complex type by looking up the element name.


getElementProperties

SchemaProperty[] getElementProperties()
Returns all the SchemaProperties corresponding to elements.


getAttributeProperty

SchemaProperty getAttributeProperty(QName attrName)
Returns a SchemaProperty corresponding to an attribute within this complex type by looking up the attribute name.


getAttributeProperties

SchemaProperty[] getAttributeProperties()
Returns all the SchemaProperties corresponding to attributes.


getProperties

SchemaProperty[] getProperties()
Returns all the SchemaProperties within this complex type, elements followed by attributes.


getDerivedProperties

SchemaProperty[] getDerivedProperties()
Returns the SchemaProperties defined by this complex type, exclusive of the base type (if any).


getAttributeModel

SchemaAttributeModel getAttributeModel()
Returns the attribute model for this complex type (with simple or complex content).


hasAttributeWildcards

boolean hasAttributeWildcards()
True if this type permits wildcard attributes. See the attribute model for more information about which wildcards are allowed.


getContentModel

SchemaParticle getContentModel()
Returns the complex content model for this complex type (with complex content).


hasElementWildcards

boolean hasElementWildcards()
True if this type permits element wildcards. See the content model for more information about which wildcards are allowed, and where.


isValidSubstitution

boolean isValidSubstitution(QName name)
For document types, true if the given name can be substituted for the document element name.


hasAllContent

boolean hasAllContent()
True if the complex content model for this complex type is an "all" group.


isOrderSensitive

boolean isOrderSensitive()
True if particles have same defaults, nillability, etc, that are invariant when order changes. Computed only for Javaized types.


getElementType

SchemaType getElementType(QName eltName,
                          QName xsiType,
                          SchemaTypeLoader wildcardTypeLoader)
Returns the type of a child element based on the element name and an xsi:type attribute (and the type system within which names are resolved).


getAttributeType

SchemaType getAttributeType(QName eltName,
                            SchemaTypeLoader wildcardTypeLoader)
Returns the type of an attribute based on the attribute name and the type system within which (wildcard) names are resolved.


getFacet

XmlAnySimpleType getFacet(int facetCode)
Returns the value of the given facet, or null if none is set.


isFacetFixed

boolean isFacetFixed(int facetCode)
True if the given facet is fixed.


ordered

int ordered()
True if ordered. Returns either UNORDERED, PARTIAL_ORDER, or TOTAL_ORDER.


isBounded

boolean isBounded()
True if bounded.


isFinite

boolean isFinite()
True if finite.


isNumeric

boolean isNumeric()
True if numeric.


hasPatternFacet

boolean hasPatternFacet()
True if there are regex pattern facents


getPatterns

String[] getPatterns()
True


matchPatternFacet

boolean matchPatternFacet(String s)
True if the given string matches the pattern facets. Always true if there are no pattern facets.


getEnumerationValues

XmlAnySimpleType[] getEnumerationValues()
Returns the array of valid objects from the enumeration facet, null if no enumeration defined.


hasStringEnumValues

boolean hasStringEnumValues()
True if this is a string enum where an integer is assigned to each enumerated value.


getBaseEnumType

SchemaType getBaseEnumType()
If this is a string enumeration, returns the most basic base schema type that this enuemration is based on. Otherwise returns null.


getStringEnumEntries

SchemaStringEnumEntry[] getStringEnumEntries()
Returns the array of SchemaStringEnumEntries for this type: this array includes information about the java constant names used for each string enum entry.


enumEntryForString

SchemaStringEnumEntry enumEntryForString(String s)
Returns the string enum entry corresponding to the given enumerated string, or null if there is no match or this type is not a string enumeration.


enumForString

StringEnumAbstractBase enumForString(String s)
Returns the string enum value corresponding to the given enumerated string, or null if there is no match or this type is not a string enumeration.


enumForInt

StringEnumAbstractBase enumForInt(int i)
Returns the string enum value corresponding to the given enumerated string, or null if there is no match or this type is not a string enumeration.


isPrimitiveType

boolean isPrimitiveType()
True for any of the 20 primitive types (plus anySimpleType)


getSimpleVariety

int getSimpleVariety()
Returns whether the simple type is ATOMIC, UNION, or LIST. Returns NOT_SIMPLE, ATOMIC, UNION, or LIST.


getPrimitiveType

SchemaType getPrimitiveType()
For atomic types only: get the primitive type underlying this one.

Returns null if this is not an atomic type.


getDecimalSize

int getDecimalSize()
For atomic numeric restrictions of decimal only: the numeric size category. Takes into account min and max restrictions as well as totalDigits and fractionDigits facets.

Returns either NOT_DECIMAL, SIZE_BYTE, SIZE_SHORT, SIZE_INT, SIZE_LONG, SIZE_BIG_INTEGER, or SIZE_BIG_DECIMAL.


getUnionMemberTypes

SchemaType[] getUnionMemberTypes()
For union types only: get the shallow member types. This returns the declared member types of the union, so, for example if the type contains another union, the nested members of that union are NOT returned here.

Returns null if this type is not a union.


getUnionSubTypes

SchemaType[] getUnionSubTypes()
For union types only: gets the full tree of member types. This computes the closure of the set returned by getUnionMemberTypes(), so, for example, it returns all the types nested within unions of unions as well as the top-level members; the set also includes the type itself. If you are seeking only the basic non-union consituents, use getUnionConstituentTypes.

Returns null if this type is not a union.


getUnionConstituentTypes

SchemaType[] getUnionConstituentTypes()
For union types only: get the constituent member types. This returns only non-union types, so, for example, for unions of unions, this returns the flattened list of individual member types within the innermost unions.

Returns null if this type is not a union.


getUnionCommonBaseType

SchemaType getUnionCommonBaseType()
For union types only: get the most specific common base type of the constituent member types. May return a UR type.

Returns null if this type is not a union.


getAnonymousUnionMemberOrdinal

int getAnonymousUnionMemberOrdinal()
For anonymous types defined inside a union only: gets the integer indicating the declaration order of this type within the outer union type, or zero if this is not applicable. The first anonymous union member within a union type is numbered "1". Used to differentiate between different anonymous types.


getListItemType

SchemaType getListItemType()
For list types only: get the item type. This is the atomic or union type that is the type of every entry in the list.

Returns null if this type is not a list.


getWhiteSpaceRule

int getWhiteSpaceRule()
For nonunion simple types: get the whitespace rule. This is either WS_PRESERVE, WS_REPLACE, or WS_COLLAPSE. Returns WS_UNSPECIFIED for unions and complex types.


newValue

XmlAnySimpleType newValue(Object v)
Creates an immutable simple type value that does not reside in a tree.


getRef

SchemaType.Ref getRef()
Retruns a SchemaType.Ref pointing to this schema type itself.


qnameSetForWildcardElements

QNameSet qnameSetForWildcardElements()
Returns a QNameSet of elements that may exist in wildcard buchets and are not explicitly defined in this schema type. Note: In this example: the returned QNameSet will not contain the qname of 'someElement'.

Returns:
the constructed QNameSet

qnameSetForWildcardAttributes

QNameSet qnameSetForWildcardAttributes()
Returns a QNameSet of attributes that may exist in wildcard buchets and are not explicitly defined in this schema type. Note: In this example: ... the returned QNameSet will not contain the qname of 'someAttribute'.

Returns:
the constructed QNameSet