Interface XSSimpleType

All Superinterfaces:
XSComponent, XSContentType, XSDeclaration, XSType
All Known Subinterfaces:
XSListSimpleType, XSRestrictionSimpleType, XSUnionSimpleType
All Known Implementing Classes:
ListSimpleTypeImpl, RestrictionSimpleTypeImpl, SchemaSetImpl.AnySimpleType, SimpleTypeImpl, UnionSimpleTypeImpl

public interface XSSimpleType extends XSType, XSContentType
Simple type.
Author:
Kohsuke Kawaguchi ([email protected])
  • Method Details

    • getSimpleBaseType

      XSSimpleType getSimpleBaseType()
      Gets the base type as XSSimpleType. Equivalent to (XSSimpleType)getBaseType() Since this is a simple type, we know that the base type is also a simple type. The only exception is xs:anySimpleType, which has xs:anyType as the base type.
      Returns:
      null if this is xs:anySimpleType. Otherwise non-null.
    • getVariety

      XSVariety getVariety()
      Gets the variety of this simple type.
    • getPrimitiveType

      XSSimpleType getPrimitiveType()
      Gets the ancestor primitive if this type is atomic.
      Returns:
      null otherwise.
    • isPrimitive

      boolean isPrimitive()
      Returns true if this is a primitive built-in simple type (that directly derives from xs:anySimpleType, by definition.)
    • getBaseListType

      XSListSimpleType getBaseListType()
      Gets the nearest ancestor XSListSimpleType (including itself) if the variety of this type is list.
      Returns:
      otherwise return null
    • getBaseUnionType

      XSUnionSimpleType getBaseUnionType()
      Gets the nearest ancestor XSUnionSimpleType (including itself) if the variety of this type is union.
      Returns:
      otherwise return null
    • isFinal

      boolean isFinal(XSVariety v)
      Returns true if this type definition is marked as 'final' with respect to the given XSVariety.
      Returns:
      true if the type is marked final.
    • getRedefinedBy

      XSSimpleType getRedefinedBy()
      If this is redefined by another simple type, return that component.
      Specified by:
      getRedefinedBy in interface XSType
      Returns:
      null if this component has not been redefined.
    • getFacet

      XSFacet getFacet(String name)
      Gets the effective facet object of the given name.

      For example, if a simple type "foo" is derived from xs:string by restriction with the "maxLength" facet and another simple type "bar" is derived from "foo" by restriction with another "maxLength" facet, this method will return the latter one, because that is the most restrictive, effective facet.

      For those facets that can have multiple values (pattern facets and enumeration facets), this method will return only the first one. TODO: allow clients to access all of them by some means.

      Returns:
      If this datatype has a facet of the given name, return that object. If the facet is not specified anywhere in its derivation chain, null will be returned.
    • getFacets

      List<XSFacet> getFacets(String name)
      For multi-valued facets (enumeration and pattern), obtain all values.
      Returns:
      can be empty but never null.
      See Also:
    • visit

      void visit(XSSimpleTypeVisitor visitor)
    • apply

      <T> T apply(XSSimpleTypeFunction<T> function)
    • isRestriction

      boolean isRestriction()
      Returns true if this instanceof XSRestrictionSimpleType.
    • isList

      boolean isList()
      Returns true if this instanceof XSListSimpleType.
    • isUnion

      boolean isUnion()
      Returns true if this instanceof XSUnionSimpleType.
    • asRestriction

      XSRestrictionSimpleType asRestriction()
    • asList

    • asUnion