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
`static short` `COMPLEX_TYPE` The object describes a complex type.
`static short` `SIMPLE_TYPE` The object describes a simple type.

### Method Summary

All Methods Instance Methods Abstract Methods
`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` .