## org.apache.xerces.impl.xs
Class XSComplexTypeDecl

    java.lang.Object
      |
      +--org.apache.xerces.impl.xs.XSComplexTypeDecl

All Implemented Interfaces:
  XSComplexTypeDefinition, XSObject, XSTypeDefinition

public class XSComplexTypeDecl
extends java.lang.Object
implements XSComplexTypeDefinition

The XML representation for a complexType schema component is a <complexType> element information item

Version:
  $Id: XSComplexTypeDecl.java,v 1.13 2003/01/14 20:21:45 elena Exp $
Author:
  Elena Litani, IBM, Sandy Gao, IBM

Fields inherited from interface org.apache.xerces.impl.xs.psvi.XSComplexTypeDefinition
`CONTENTTYPE_ELEMENT, CONTENTTYPE_EMPTY, CONTENTTYPE_MIXED, CONTENTTYPE_SIMPLE`

Fields inherited from interface org.apache.xerces.impl.xs.psvi.XSTypeDefinition
`COMPLEX_TYPE, SIMPLE_TYPE`

Constructor Summary
`XSComplexTypeDecl()`

Method Summary
`boolean` `containsTypeID()`
`boolean` `derivedFrom(java.lang.String ancestorNS, java.lang.String ancestorName, short derivationMethod)` Convenience method: check if this type is derived from the given ancestor type.
`boolean` `derivedFromType(XSTypeDefinition ancestor, short derivationMethod)` Convenience method: check if this type is derived from the given `ancestorType`.
`boolean` `getAbstract()` {abstract} A boolean.
`XSObjectList` `getAnnotations()` Optional.
`boolean` `getAnonymous()` A boolean that specifies if the type definition is anonymous.
`XSAttributeGroupDecl` `getAttrGrp()`
`XSObjectList` `getAttributeUses()` {attribute uses} A set of attribute uses.
`XSWildcard` `getAttributeWildcard()` {attribute wildcard} Optional.
`XSTypeDefinition` `getBaseType()` {base type definition} Either a simple type definition or a complex type definition.
`XSCMValidator` `getContentModel(CMBuilder cmBuilder)`
`short` `getContentType()` {content type} One of empty, a simple type definition (see `simpleType`, or mixed, element-only (see `cmParticle`).
`short` `getDerivationMethod()` {derivation method} Either extension or restriction.
`short` `getFinal()` {final} For complex type definition it is a subset of {extension, restriction}.
`short` `getFinalSet()`
`java.lang.String` `getName()` The `name` of this `XSObject` depending on the `XSObject` type.
`java.lang.String` `getNamespace()` The namespace URI of this node, or `null` if it is unspecified.
`XSNamespaceItem` `getNamespaceItem()` A namespace schema information itemcorresponding to the target namespace of the component, if it's globally declared; or null otherwise.
`XSParticle` `getParticle()` A particle for mixed or element-only content model, otherwise `null`
`short` `getProhibitedSubstitutions()` {prohibited substitutions}
`XSSimpleTypeDefinition` `getSimpleType()` A simple type definition corresponding to simple content model, otherwise `null`
`java.lang.String` `getTargetNamespace()`
`short` `getType()` Get the type of the object, i.e ELEMENT_DECLARATION.
`short` `getTypeCategory()` Return whether this type definition is a simple type or complex type.
`java.lang.String` `getTypeName()`
`boolean` `isFinal(short derivation)` {final} For complex type definition it is a subset of {extension, restriction}.
`boolean` `isProhibitedSubstitution(short prohibited)` {prohibited substitutions} A subset of {extension, restriction}.
`void` `reset()`
`void` `setContainsTypeID()`
`void` `setIsAbstractType()`
`void` `setIsAnonymous()`
`void` `setName(java.lang.String name)`
`void` `setValues(java.lang.String name, java.lang.String targetNamespace, XSTypeDefinition baseType, short derivedBy, short schemaFinal, short block, short contentType, boolean isAbstract, XSAttributeGroupDecl attrGrp, XSSimpleType simpleType, XSParticleDecl particle)`
`java.lang.String` `toString()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### XSComplexTypeDecl

    public XSComplexTypeDecl()

Method Detail

### setValues

    public void setValues(java.lang.String name,
                          java.lang.String targetNamespace,
                          XSTypeDefinition baseType,
                          short derivedBy,
                          short schemaFinal,
                          short block,
                          short contentType,
                          boolean isAbstract,
                          XSAttributeGroupDecl attrGrp,
                          XSSimpleType simpleType,
                          XSParticleDecl particle)

### setName

    public void setName(java.lang.String name)

### getTypeCategory

    public short getTypeCategory()

  Description copied from interface: `XSTypeDefinition`
  Return whether this type definition is a simple type or complex type.
  Specified by:
    `getTypeCategory` in interface `XSTypeDefinition`

### getTypeName

    public java.lang.String getTypeName()

### getFinalSet

    public short getFinalSet()

### getTargetNamespace

    public java.lang.String getTargetNamespace()

### containsTypeID

    public boolean containsTypeID()

### setIsAbstractType

    public void setIsAbstractType()

### setContainsTypeID

    public void setContainsTypeID()

### setIsAnonymous

    public void setIsAnonymous()

### getContentModel

    public XSCMValidator getContentModel(CMBuilder cmBuilder)

### getAttrGrp

    public XSAttributeGroupDecl getAttrGrp()

### toString

    public java.lang.String toString()

  Overrides:
    `toString` in class `java.lang.Object`

### derivedFromType

    public boolean derivedFromType(XSTypeDefinition ancestor,
                                   short derivationMethod)

  Description copied from interface: `XSTypeDefinition`
  Convenience method: check if this type is derived from the given `ancestorType`.
  Specified by:
    `derivedFromType` in interface `XSTypeDefinition`
  Following copied from interface: `org.apache.xerces.impl.xs.psvi.XSTypeDefinition`
  Parameters:
    `ancestorType` - An ancestor type definition.
    `derivationMethod` - A bit combination representing a subset of { `DERIVATION_RESTRICTION, DERIVATION_EXTENSION, DERIVATION_UNION, DERIVATION_LIST` }.
  Returns:
    Return true if this type is derived from `ancestorType` using only derivation methods from the `derivationMethod`. Return true if this type is derived from `ancestorType`.

### derivedFrom

    public boolean derivedFrom(java.lang.String ancestorNS,
                               java.lang.String ancestorName,
                               short derivationMethod)

  Description copied from interface: `XSTypeDefinition`
  Convenience method: check if this type is derived from the given ancestor type.
  Specified by:
    `derivedFrom` in interface `XSTypeDefinition`
  Following copied from interface: `org.apache.xerces.impl.xs.psvi.XSTypeDefinition`
  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:
    Return true if this type is derived from `ancestorType` using only derivation methods from the `derivationMethod`. Return true if this type is derived from `ancestorType`.

### reset

    public void reset()

### getType

    public short getType()

  Get the type of the object, i.e ELEMENT_DECLARATION.
  Specified by:
    `getType` in interface `XSObject`

### getName

    public java.lang.String getName()

  The `name` of this `XSObject` depending on the `XSObject` type.
  Specified by:
    `getName` in interface `XSObject`

### getAnonymous

    public boolean getAnonymous()

  A boolean that specifies if the type definition is anonymous. Convenience attribute. This is a field is not part of XML Schema component model.
  Specified by:
    `getAnonymous` in interface `XSTypeDefinition`

### getNamespace

    public java.lang.String getNamespace()

  The namespace URI of this node, or `null` if it is unspecified. defines how a namespace URI is attached to schema components.
  Specified by:
    `getNamespace` in interface `XSObject`

### getBaseType

    public XSTypeDefinition getBaseType()

  {base type definition} Either a simple type definition or a complex type definition.
  Specified by:
    `getBaseType` in interface `XSTypeDefinition`

### getDerivationMethod

    public short getDerivationMethod()

  {derivation method} Either extension or restriction. The valid constant value for this `XSConstants` EXTENTION, RESTRICTION.
  Specified by:
    `getDerivationMethod` in interface `XSComplexTypeDefinition`

### isFinal

    public boolean isFinal(short derivation)

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

### getFinal

    public short getFinal()

  {final} For complex type definition it is a subset of {extension, restriction}.
  Specified by:
    `getFinal` in interface `XSTypeDefinition`
  Returns:
    A bit flag that represents: {extension, restriction) or none for complexTypes; {extension, list, restriction, union} or none for simpleTypes;

### getAbstract

    public boolean getAbstract()

  {abstract} A boolean. Complex types for which {abstract} is true must not be used as the {type definition} for the validation of element information items.
  Specified by:
    `getAbstract` in interface `XSComplexTypeDefinition`

### getAttributeUses

    public XSObjectList getAttributeUses()

  {attribute uses} A set of attribute uses.
  Specified by:
    `getAttributeUses` in interface `XSComplexTypeDefinition`

### getAttributeWildcard

    public XSWildcard getAttributeWildcard()

  {attribute wildcard} Optional. A wildcard.
  Specified by:
    `getAttributeWildcard` in interface `XSComplexTypeDefinition`

### getContentType

    public short getContentType()

  {content type} One of empty, a simple type definition (see `simpleType`, or mixed, element-only (see `cmParticle`).
  Specified by:
    `getContentType` in interface `XSComplexTypeDefinition`

### getSimpleType

    public XSSimpleTypeDefinition getSimpleType()

  A simple type definition corresponding to simple content model, otherwise `null`
  Specified by:
    `getSimpleType` in interface `XSComplexTypeDefinition`

### getParticle

    public XSParticle getParticle()

  A particle for mixed or element-only content model, otherwise `null`
  Specified by:
    `getParticle` in interface `XSComplexTypeDefinition`

### isProhibitedSubstitution

    public boolean isProhibitedSubstitution(short prohibited)

  {prohibited substitutions} A subset of {extension, restriction}.
  Specified by:
    `isProhibitedSubstitution` in interface `XSComplexTypeDefinition`
  Parameters:
    `prohibited` - extention or restriction constants (defined in `XSConstants`).
  Returns:
    True if prohibited is a prohibited substitution, otherwise false.

### getProhibitedSubstitutions

    public short getProhibitedSubstitutions()

  {prohibited substitutions}
  Specified by:
    `getProhibitedSubstitutions` in interface `XSComplexTypeDefinition`
  Returns:
    A bit flag corresponding to prohibited substitutions

### getAnnotations

    public XSObjectList getAnnotations()

  Optional. Annotation.
  Specified by:
    `getAnnotations` in interface `XSComplexTypeDefinition`

### getNamespaceItem

    public XSNamespaceItem getNamespaceItem()

  Description copied from interface: `XSObject`
  A namespace schema information itemcorresponding to the target namespace of the component, if it's globally declared; or null otherwise.
  Specified by:
    `getNamespaceItem` in interface `XSObject`
  See Also:
    `XSObject.getNamespaceItem()`

Copyright © 1999-2003 Apache XML Project. All Rights Reserved.