org.apache.ws.jaxme.xs.xml.impl

Class XsTComplexTypeImpl

public class XsTComplexTypeImpl extends XsTAnnotatedImpl implements XsTComplexType

Base implementation of a complex type, to be shared by XsTLocalComplexType and XsTComplexType. Follows this specification:

  <xs:complexType name="complexType" abstract="true">
    <xs:complexContent>
      <xs:extension base="xs:annotated">
        <xs:group ref="xs:complexTypeModel"/>
        <xs:attribute name="name" type="xs:NCName">
          <xs:annotation>
            <xs:documentation>
              Will be restricted to required or forbidden
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="mixed" type="xs:boolean" use="optional" default="false">
          <xs:annotation>
            <xs:documentation>
              Not allowed if simpleContent child is chosen.
              May be overriden by setting on complexContent child.
            </xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="abstract" type="xs:boolean" use="optional" default="false"/>
        <xs:attribute name="final" type="xs:derivationSet"/>
        <xs:attribute name="block" type="xs:derivationSet"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:group name="complexTypeModel">
    <xs:choice>
      <xs:element ref="xs:simpleContent"/>
      <xs:element ref="xs:complexContent"/>
      <xs:sequence>
        <xs:annotation>
          <xs:documentation>
            This branch is short for &lt;complexContent&gt;
            &lt;restriction base="xs:anyType"&gt;
            ...
            &lt;/restriction&gt;
            &lt;/complexContent&gt;
          </xs:documentation>
        </xs:annotation>
        <xs:group ref="xs:typeDefParticle" minOccurs="0"/>
        <xs:group ref="xs:attrDecls"/>
      </xs:sequence>
    </xs:choice>
  </xs:group>

  <xs:group name="typeDefParticle">
    <xs:annotation>
      <xs:documentation>
        'complexType' uses this
      </xs:documentation>
    </xs:annotation>
    <xs:choice>
      <xs:element name="group" type="xs:groupRef"/>
      <xs:element ref="xs:all"/>
      <xs:element ref="xs:choice"/>
      <xs:element ref="xs:sequence"/>
    </xs:choice>
  </xs:group>
 

Author: Jochen Wiedmann

Constructor Summary
protected XsTComplexTypeImpl(XsObject pParent)
Method Summary
XsTAllcreateAll()
XsTWildcardcreateAnyAttribute()
XsTAttributecreateAttribute()
XsTAttributeGroupRefcreateAttributeGroup()
XsEChoicecreateChoice()
XsEComplexContentcreateComplexContent()
XsTGroupRefcreateGroup()
XsESequencecreateSequence()
XsESimpleContentcreateSimpleContent()
Object[]getAllAttributes()
XsTWildcardgetAnyAttribute()
XsTAttributeGroupRef[]getAttributeGroups()
XsTAttribute[]getAttributes()
XsEComplexContentgetComplexContent()
XsDerivationSetgetFinal()
XsNCNamegetName()
XsESimpleContentgetSimpleContent()
XsTTypeDefParticlegetTypeDefParticle()
booleanisAbstract()
booleanisMixed()
voidsetAbstract(boolean pAbstract)
voidsetFinal(XsDerivationSet pFinal)
voidsetMixed(boolean pMixed)
voidsetName(XsNCName pName)

Constructor Detail

XsTComplexTypeImpl

protected XsTComplexTypeImpl(XsObject pParent)

Method Detail

createAll

public XsTAll createAll()

createAnyAttribute

public XsTWildcard createAnyAttribute()

createAttribute

public XsTAttribute createAttribute()

createAttributeGroup

public XsTAttributeGroupRef createAttributeGroup()

createChoice

public XsEChoice createChoice()

createComplexContent

public XsEComplexContent createComplexContent()

createGroup

public XsTGroupRef createGroup()

createSequence

public XsESequence createSequence()

createSimpleContent

public XsESimpleContent createSimpleContent()

getAllAttributes

public Object[] getAllAttributes()

getAnyAttribute

public XsTWildcard getAnyAttribute()

getAttributeGroups

public XsTAttributeGroupRef[] getAttributeGroups()

getAttributes

public XsTAttribute[] getAttributes()

getComplexContent

public XsEComplexContent getComplexContent()

getFinal

public XsDerivationSet getFinal()

getName

public XsNCName getName()

getSimpleContent

public XsESimpleContent getSimpleContent()

getTypeDefParticle

public XsTTypeDefParticle getTypeDefParticle()

isAbstract

public boolean isAbstract()

isMixed

public boolean isMixed()

setAbstract

public void setAbstract(boolean pAbstract)

setFinal

public void setFinal(XsDerivationSet pFinal)

setMixed

public void setMixed(boolean pMixed)

setName

public void setName(XsNCName pName)