org.apache.xerces.xs

## Interface XSTypeDefinition

- All Superinterfaces:
    XSObject
  All Known Subinterfaces:
    XSComplexTypeDefinition, XSSimpleTypeDefinition

      public interface XSTypeDefinition
      extends XSObject

  This interface represents a complex or simple type definition.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static short` | `COMPLEX_TYPE` The object describes a complex type.
    `static short` | `SIMPLE_TYPE` The object describes a simple type.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `derivedFrom(java.lang.String namespace, java.lang.String name, short derivationMethod)` Convenience method which checks if this type is derived from the given ancestor type.
    `boolean` | `derivedFromType(XSTypeDefinition ancestorType, short derivationMethod)` Convenience method which checks if this type is derived from the given `ancestorType`.
    `boolean` | `getAnonymous()` Convenience attribute.
    `XSTypeDefinition` | `getBaseType()` {base type definition}: either a simple type definition or a complex type definition.
    `short` | `getFinal()` For complex types the returned value is a bit combination of the subset of {`DERIVATION_EXTENSION, DERIVATION_RESTRICTION`} corresponding to `final` set of this type or `DERIVATION_NONE`.
    `short` | `getTypeCategory()` Return whether this type definition is a simple type or complex type.
    `boolean` | `isFinal(short restriction)` {final}.

    - ### Methods inherited from interface org.apache.xerces.xs.XSObject

      `getName, getNamespace, getNamespaceItem, getType`

- - ### Field Detail

    - #### COMPLEX_TYPE

          static final short COMPLEX_TYPE

      The object describes a complex type.
      See Also:
        Constant Field Values

    - #### SIMPLE_TYPE

          static final short SIMPLE_TYPE

      The object describes a simple type.
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### getTypeCategory

          short getTypeCategory()

      Return whether this type definition is a simple type or complex type.

    - #### getBaseType

          XSTypeDefinition getBaseType()

      {base type definition}: either a simple type definition or a complex type definition.

    - #### isFinal

          boolean isFinal(short restriction)

      {final}. For a complex type definition it is a subset of {extension, restriction}. For a simple type definition it is a subset of {extension, list, restriction, union}.
      Parameters:
        `restriction` - Extension, restriction, list, union constants (defined in `XSConstants`).
      Returns:
        True if `restriction` is in the final set, otherwise false.

    - #### getFinal

          short getFinal()

      For complex types the returned value is a bit combination of the subset of {`DERIVATION_EXTENSION, DERIVATION_RESTRICTION`} corresponding to `final` set of this type or `DERIVATION_NONE`. For simple types the returned value is a bit combination of the subset of { `DERIVATION_RESTRICTION, DERIVATION_EXTENSION, DERIVATION_UNION, DERIVATION_LIST` } corresponding to `final` set of this type or `DERIVATION_NONE`.

    - #### getAnonymous

          boolean getAnonymous()

      Convenience attribute. A boolean that specifies if the type definition is anonymous.

    - #### derivedFromType

          boolean derivedFromType(XSTypeDefinition ancestorType,
                                short derivationMethod)

      Convenience method which checks if this type is derived from the given `ancestorType`.
      Parameters:
        `ancestorType` - An ancestor type definition.
        `derivationMethod` - A bit combination representing a subset of { `DERIVATION_RESTRICTION, DERIVATION_EXTENSION, DERIVATION_UNION, DERIVATION_LIST` }.
      Returns:
        True if this type is derived from `ancestorType` using only derivation methods from the `derivationMethod` .

    - #### derivedFrom

          boolean derivedFrom(java.lang.String namespace,
                            java.lang.String name,
                            short derivationMethod)

      Convenience method which checks if this type is derived from the given ancestor type.
      Parameters:
        `namespace` - An ancestor type namespace.
        `name` - An ancestor type name.
        `derivationMethod` - A bit combination representing a subset of { `DERIVATION_RESTRICTION, DERIVATION_EXTENSION, DERIVATION_UNION, DERIVATION_LIST` }.
      Returns:
        True if this type is derived from `ancestorType` using only derivation methods from the `derivationMethod` .

Copyright © 1999-2022 The Apache Software Foundation. All Rights Reserved.