net.sf.jaxme.xs
Interface XSComplexType

All Known Implementing Classes:
XSTypeImpl.XSComplexTypeImpl

public interface XSComplexType

Details of a complex type.

Author:
Jochen Wiedmann

Method Summary
 XSAttributable[] getAttributes()
          Returns the complex types attributes.
 XsComplexContentType getComplexContentType()
          If the element hasn't simple content: Returns the element contents type.
 XSType getExtendedType()
          If the element is an extension: Returns the extended type.
 XSParticle getParticle()
          If the element hasn't simple content: Returns the complex elements particle.
 XSType getRestrictedType()
          If the element is an restriction: Returns the restricted type.
 XSSimpleContentType getSimpleContent()
          If the complex type has simple content, returns the contents type.
 boolean hasSimpleContent()
          Returns whether the complex type has simple content.
 boolean isElementOnly()
          If the element hasn't simple content: Returns whether the elements content is elementOnly.
 boolean isEmpty()
          If the element hasn't simple content: Returns whether the elements content is empty.
 boolean isExtension()
          Returns whether the element is a extension of another element.
 boolean isMixed()
          If the element hasn't simple content: Returns whether the elements content is mixed.
 boolean isRestriction()
          Returns whether the element is a restriction of another element.
 

Method Detail

hasSimpleContent

public boolean hasSimpleContent()

Returns whether the complex type has simple content. If so, you may use the method getSimpleContent() to fetch the simple contents type. If not, you may use getComplexContentType(), isEmpty(), isElementOnly(), isMixed(), and getParticle(). The method getAttributes() is always valid.


getSimpleContent

public XSSimpleContentType getSimpleContent()

If the complex type has simple content, returns the contents type. This is, of course, a simple type.


getComplexContentType

public XsComplexContentType getComplexContentType()

If the element hasn't simple content: Returns the element contents type.

Throws:
java.lang.IllegalStateException - The element does not have complex content
See Also:
XsComplexContentType.EMPTY, XsComplexContentType.ELEMENT_ONLY, XsComplexContentType.MIXED, isEmpty(), isElementOnly(), isMixed()

isEmpty

public boolean isEmpty()

If the element hasn't simple content: Returns whether the elements content is empty. Shortcut for getComplexContentType().equals(EMPTY).

Throws:
java.lang.IllegalStateException - The element does not have complex content
See Also:
XsComplexContentType.EMPTY

isElementOnly

public boolean isElementOnly()

If the element hasn't simple content: Returns whether the elements content is elementOnly. Shortcut for getComplexContentType().equals(ELEMENT_ONLY).

Throws:
java.lang.IllegalStateException - The element does not have complex content
See Also:
XsComplexContentType.ELEMENT_ONLY

isMixed

public boolean isMixed()

If the element hasn't simple content: Returns whether the elements content is mixed. Shortcut for getComplexContentType().equals(MIXED).

Throws:
java.lang.IllegalStateException - The element does not have complex content
See Also:
XsComplexContentType.MIXED

getParticle

public XSParticle getParticle()

If the element hasn't simple content: Returns the complex elements particle.

Throws:
java.lang.IllegalStateException - The element has simple content

getAttributes

public XSAttributable[] getAttributes()

Returns the complex types attributes.


isExtension

public boolean isExtension()

Returns whether the element is a extension of another element.


getExtendedType

public XSType getExtendedType()

If the element is an extension: Returns the extended type.

Throws:
java.lang.IllegalStateException - The element is no extension.

isRestriction

public boolean isRestriction()

Returns whether the element is a restriction of another element.


getRestrictedType

public XSType getRestrictedType()

If the element is an restriction: Returns the restricted type.

Throws:
java.lang.IllegalStateException - The element is no restriction.