org.jibx.schema.elements
Class UnionElement

java.lang.Object
  extended by org.jibx.schema.elements.SchemaBase
      extended by org.jibx.schema.elements.OpenAttrBase
          extended by org.jibx.schema.elements.AnnotatedBase
              extended by org.jibx.schema.elements.UnionElement
All Implemented Interfaces:
IComponent

public class UnionElement
extends AnnotatedBase

union element definition.

Author:
Dennis M. Sosnoski

Field Summary
private  long INLINE_TYPE_MASK
          Mask bits for inline base type definition.
private  FilteredSegmentList m_inlineBaseList
          Filtered list of inline base type definition elements.
private  CommonTypeDefinition[] m_memberTypeDefinitions
          Actual definitions corresponding to 'memberTypes' attribute values (set during validation).
private  QName[] m_memberTypes
          'memberTypes' attribute value.
static StringArray s_allowedAttributes
          List of allowed attribute names.
 
Fields inherited from class org.jibx.schema.elements.SchemaBase
ALL_TYPE, ANNOTATION_TYPE, ANY_TYPE, ANYATTRIBUTE_TYPE, APPINFO_TYPE, ATTRIBUTE_TYPE, ATTRIBUTEGROUP_TYPE, CHOICE_TYPE, COMPLEXCONTENT_TYPE, COMPLEXTYPE_TYPE, DOCUMENTATION_TYPE, ELEMENT_MASKS, ELEMENT_NAMES, ELEMENT_TYPE, ENUMERATION_TYPE, EXTENSION_TYPE, FIELD_TYPE, FRACTIONDIGITS_TYPE, GROUP_TYPE, IMPORT_TYPE, INCLUDE_TYPE, KEY_TYPE, KEYREF_TYPE, LENGTH_TYPE, LIST_TYPE, MAXEXCLUSIVE_TYPE, MAXINCLUSIVE_TYPE, MAXLENGTH_TYPE, MINEXCLUSIVE_TYPE, MININCLUSIVE_TYPE, MINLENGTH_TYPE, NOTATION_TYPE, PATTERN_TYPE, REDEFINE_TYPE, RESTRICTION_TYPE, SCHEMA_TYPE, SELECTOR_TYPE, SEQUENCE_TYPE, SIMPLECONTENT_TYPE, SIMPLETYPE_TYPE, TOTALDIGITS_TYPE, UNION_TYPE, UNIQUE_TYPE, WHITESPACE_TYPE
 
Fields inherited from interface org.jibx.schema.IComponent
SCHEMA_NAMESPACE
 
Constructor Summary
UnionElement()
          Constructor.
 
Method Summary
 FilteredSegmentList getInlineBaseList()
          Get list of inline member type definitions.
 CommonTypeDefinition[] getMemberTypeDefinitions()
          Get referenced member type definitions.
 QName[] getMemberTypes()
          Get 'memberTypes' attribute value.
protected  void preset(IUnmarshallingContext ictx)
          Pre-set method to be called by data binding while parsing element start tag.
 void prevalidate(ValidationContext vctx)
          Prevalidate component information.
 void setMemberTypes(QName[] bases)
          Set 'memberTypes' attribute value.
 void validate(ValidationContext vctx)
          Validate component information.
 
Methods inherited from class org.jibx.schema.elements.AnnotatedBase
getAnnotation, getId, setAnnotation, setId
 
Methods inherited from class org.jibx.schema.elements.OpenAttrBase
addExtraAttribute, clearExtraAttributes, compactChildren, detachChild, getChild, getChildCount, getChildIterator, getChildrenWritable, getExtraAttributes, preget, replaceChild, validateAttributes
 
Methods inherited from class org.jibx.schema.elements.SchemaBase
addNamespaceDeclaration, bit, clearNamespaceDeclarations, getExtension, getNamespaceDeclarations, getParent, getSchema, isGlobal, name, readNamespaces, setExtension, setParent, type, validateAttributes, writeNamespaces
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

s_allowedAttributes

public static final StringArray s_allowedAttributes
List of allowed attribute names.


INLINE_TYPE_MASK

private long INLINE_TYPE_MASK
Mask bits for inline base type definition.


m_inlineBaseList

private final FilteredSegmentList m_inlineBaseList
Filtered list of inline base type definition elements.


m_memberTypes

private QName[] m_memberTypes
'memberTypes' attribute value.


m_memberTypeDefinitions

private CommonTypeDefinition[] m_memberTypeDefinitions
Actual definitions corresponding to 'memberTypes' attribute values (set during validation).

Constructor Detail

UnionElement

public UnionElement()
Constructor.

Method Detail

preset

protected void preset(IUnmarshallingContext ictx)
               throws JiBXException
Description copied from class: SchemaBase
Pre-set method to be called by data binding while parsing element start tag. The base class implementation just sets the parent element link and reads in any extra namespaces defined on the element. Subclasses which override this implementation must call the base implementation during their processing.

Overrides:
preset in class SchemaBase
Parameters:
ictx - unmarshalling context
Throws:
JiBXException - on error

getMemberTypes

public QName[] getMemberTypes()
Get 'memberTypes' attribute value.

Returns:
attribute value, or null if none

setMemberTypes

public void setMemberTypes(QName[] bases)
Set 'memberTypes' attribute value.

Parameters:
bases - member types, or null if none

getMemberTypeDefinitions

public CommonTypeDefinition[] getMemberTypeDefinitions()
Get referenced member type definitions. This method can only be called after validation.

Returns:
member types, or null if none

getInlineBaseList

public FilteredSegmentList getInlineBaseList()
Get list of inline member type definitions.

Returns:
inline types

prevalidate

public void prevalidate(ValidationContext vctx)
Description copied from class: SchemaBase
Prevalidate component information. The prevalidation step is used to check isolated aspects of a component, such as the settings for enumerated values. This empty base class implementation should be overridden by each subclass that requires prevalidation handling.

Specified by:
prevalidate in interface IComponent
Overrides:
prevalidate in class AnnotatedBase
Parameters:
vctx - validation context

validate

public void validate(ValidationContext vctx)
Description copied from class: SchemaBase
Validate component information. The validation step is used for checking the interactions between components, such as name references to other components. The SchemaBase.prevalidate(org.jibx.schema.validation.ValidationContext) method will always be called for every component in the schema definition before this method is called for any component. This empty base class implementation should be overridden by each subclass that requires validation handling.

Specified by:
validate in interface IComponent
Overrides:
validate in class SchemaBase
Parameters:
vctx - validation context


Project Web Site