Interface XSType

All Superinterfaces:
XSComponent, XSDeclaration
All Known Subinterfaces:
XSComplexType, XSListSimpleType, XSRestrictionSimpleType, XSSimpleType, XSUnionSimpleType
All Known Implementing Classes:
ComplexTypeImpl, ListSimpleTypeImpl, RestrictionSimpleTypeImpl, SimpleTypeImpl, UnionSimpleTypeImpl

public interface XSType extends XSDeclaration
Base interface for XSComplexType and XSSimpleType.
Author:
Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com)
  • Field Details

  • Method Details

    • getBaseType

      XSType getBaseType()
      Returns the base type of this type. Note that if this type represents xs:anyType, this method returns itself. This is awkward as an API, but it follows the schema specification.
      Returns:
      always non-null.
    • getDerivationMethod

      int getDerivationMethod()
    • isSimpleType

      boolean isSimpleType()
      Returns true if this instanceof XSSimpleType.
    • isComplexType

      boolean isComplexType()
      Returns true if this instanceof XSComplexType.
    • listSubstitutables

      XSType[] listSubstitutables()
      Lists up types that can substitute this type by using xsi:type. Includes this type itself.

      This method honors the block flag.

    • getRedefinedBy

      XSType getRedefinedBy()
      If this XSType is redefined by another type, return that component.
      Returns:
      null if this component has not been redefined.
    • getRedefinedCount

      int getRedefinedCount()
      Returns the number of complex types that redefine this component.

      For example, if A is redefined by B and B is redefined by C, A.getRedefinedCount()==2, B.getRedefinedCount()==1, and C.getRedefinedCount()==0.

    • asSimpleType

      XSSimpleType asSimpleType()
      Casts this object to XSSimpleType if possible, otherwise returns null.
    • asComplexType

      XSComplexType asComplexType()
      Casts this object to XSComplexType if possible, otherwise returns null.
    • isDerivedFrom

      boolean isDerivedFrom(XSType t)
      Returns true if this type is derived from the specified type.

      Note that t.isDerivedFrom(t) returns true.