org.jibx.schema.elements
Class KeyBase

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.KeyBase
All Implemented Interfaces:
IComponent
Direct Known Subclasses:
KeyBase.KeyElement, KeyBase.KeyrefElement, KeyBase.UniqueElement

public class KeyBase
extends AnnotatedBase

Base representation for identity constraint elements. The actual identity constraint elements are represented as static inner classes.

Author:
Dennis M. Sosnoski

Nested Class Summary
static class KeyBase.KeyElement
           
static class KeyBase.KeyrefElement
           
static class KeyBase.UniqueElement
           
 
Field Summary
private  FilteredSegmentList m_fieldList
          Filtered list of field elements (one or more).
private  java.lang.String m_name
          'name' attribute value.
private  FilteredSegmentList m_selectorList
          Filtered list of selector element (one only).
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
KeyBase(int type)
          Constructor.
 
Method Summary
 FilteredSegmentList getFieldList()
          Get list of field child elements.
 java.lang.String getName()
          Get 'name' attribute value.
 SelectionBase.SelectorElement getSelector()
          Get selector child element.
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 setName(java.lang.String name)
          Set 'name' attribute value.
 void setSelector(SelectionBase.SelectorElement element)
          Set selector child element.
 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.


m_selectorList

private final FilteredSegmentList m_selectorList
Filtered list of selector element (one only).


m_fieldList

private final FilteredSegmentList m_fieldList
Filtered list of field elements (one or more).


m_name

private java.lang.String m_name
'name' attribute value.

Constructor Detail

KeyBase

public KeyBase(int type)
Constructor.

Parameters:
type -
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

getName

public java.lang.String getName()
Get 'name' attribute value.

Returns:
name

setName

public void setName(java.lang.String name)
Set 'name' attribute value.

Parameters:
name -

getSelector

public SelectionBase.SelectorElement getSelector()
Get selector child element.

Returns:
element, or null if none

setSelector

public void setSelector(SelectionBase.SelectorElement element)
Set selector child element.

Parameters:
element - element, or null if unsetting

getFieldList

public FilteredSegmentList getFieldList()
Get list of field child elements.

Returns:
list

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