org.jibx.schema.codegen.custom
Class NestingCustomBase

java.lang.Object
  extended by org.jibx.schema.codegen.custom.CustomBase
      extended by org.jibx.schema.codegen.custom.NestingCustomBase
All Implemented Interfaces:
TypeReplacer
Direct Known Subclasses:
ComponentCustom, SchemaRootBase

public abstract class NestingCustomBase
extends CustomBase
implements TypeReplacer

Base class for all standard schema customizations that can contain other customizations.

Author:
Dennis M. Sosnoski

Field Summary
static int ANY_DISCARD
           
static int ANY_DOM
           
static int ANY_MAPPED
           
private  long m_activeFacetsMask
          Mask for facets active at this level (all facets not in scope of an ignore state).
private  int m_anyCode
          Code for xs:any representation (-1 if not set at level).
private  LazyList m_children
          Child customizations.
private  int m_choiceCode
          Code for xs:choice handling (-1 if not set at level).
private  java.lang.Boolean m_choiceExposed
          Expose choice selection state directly to user.
private  long m_enforcedFacetsMask
          Mask for facets enforced at this level.
private  long m_ignoredFacetsMask
          Mask for facets ignored at this level.
private  QName[] m_substitutions
          List of type substitution pairs.
private  java.util.Map m_typeSubstitutionMap
          Map of type substitutions.
private  int m_unionCode
          Code for xs:union handling (-1 if not set at level).
private  java.lang.Boolean m_unionExposed
          Expose union selection state directly to user.
static StringArray s_allowedAttributes
          Enumeration of allowed attribute names
static EnumSet s_anyValues
           
static EnumSet s_selectionValues
           
static int SELECTION_CHECKEDBOTH
           
static int SELECTION_CHECKEDSET
           
static int SELECTION_OVERRIDEBOTH
           
static int SELECTION_OVERRIDESET
           
static int SELECTION_UNCHECKED
           
 
Constructor Summary
NestingCustomBase(NestingCustomBase parent)
          Constructor.
 
Method Summary
 long getActiveFacetsMask()
          Get the bitmask of facet element flags to be processed.
 java.lang.String getAnyHandling()
          Get the xs:any handling text value set specifically for this element.
 int getAnyType()
          Get the xs:any handling type code to be applied for this component and all nested components.
 LazyList getChildren()
          Get child customizations.
 java.lang.String getChoiceHandling()
          Get the xs:choice handling text value set specifically for this element.
 int getChoiceType()
          Get the xs:choice handling type code to be applied for this component and all nested components.
 QName getReplacement(QName qname)
          Get replacement type.
 QName[] getSubstitutions()
          Get type substitution pairs list.
 java.lang.String getUnionHandling()
          Get the xs:union handling text value set specifically for this element.
 int getUnionType()
          Get the xs:union handling type code to be applied for this component and all nested components.
 boolean isAttributeInlined()
          Check whether xs:attribute definitions should always be inlined, even when used in multiple locations.
 boolean isChoiceExposed()
          Check whether xs:choice selection states should be exposed to the user.
 boolean isUnionExposed()
          Check whether xs:union selection states should be exposed to the user.
private  void setAnyHandling(java.lang.String text, IUnmarshallingContext ictx)
          Set the xs:any handling text value.
 void setAnyType(int code)
          Set the xs:any handling type code.
private  void setChoiceHandling(java.lang.String text, IUnmarshallingContext ictx)
          Set the xs:choice handling text value.
 void setChoiceType(int code)
          Set the xs:choice handling type code.
 void setEnforcedFacets(java.lang.String[] facets, IUnmarshallingContext ictx)
          Set the list of facet elements to be enforced.
 void setIgnoredFacets(java.lang.String[] facets, IUnmarshallingContext ictx)
          Set the list of facet elements to be ignored.
protected  void setReplacement(QName original, QName replace)
          Set a type replacement.
 void setSubstitutions(QName[] subs)
          Set type substitution pairs list.
private  void setUnionHandling(java.lang.String text, IUnmarshallingContext ictx)
          Set the xs:union handling text value.
 void setUnionType(int code)
          Set the xs:union handling type code.
 boolean validate(ValidationContext vctx)
          Validate and finalize customization information.
 
Methods inherited from class org.jibx.schema.codegen.custom.CustomBase
getContainingObject, getParent, getSchemaRoot, setParent, validateAttributes
 
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
Enumeration of allowed attribute names


ANY_DISCARD

public static final int ANY_DISCARD
See Also:
Constant Field Values

ANY_DOM

public static final int ANY_DOM
See Also:
Constant Field Values

ANY_MAPPED

public static final int ANY_MAPPED
See Also:
Constant Field Values

s_anyValues

public static final EnumSet s_anyValues

SELECTION_UNCHECKED

public static final int SELECTION_UNCHECKED
See Also:
Constant Field Values

SELECTION_CHECKEDSET

public static final int SELECTION_CHECKEDSET
See Also:
Constant Field Values

SELECTION_CHECKEDBOTH

public static final int SELECTION_CHECKEDBOTH
See Also:
Constant Field Values

SELECTION_OVERRIDESET

public static final int SELECTION_OVERRIDESET
See Also:
Constant Field Values

SELECTION_OVERRIDEBOTH

public static final int SELECTION_OVERRIDEBOTH
See Also:
Constant Field Values

s_selectionValues

public static final EnumSet s_selectionValues

m_substitutions

private QName[] m_substitutions
List of type substitution pairs.


m_enforcedFacetsMask

private long m_enforcedFacetsMask
Mask for facets enforced at this level.


m_ignoredFacetsMask

private long m_ignoredFacetsMask
Mask for facets ignored at this level.


m_choiceExposed

private java.lang.Boolean m_choiceExposed
Expose choice selection state directly to user.


m_choiceCode

private int m_choiceCode
Code for xs:choice handling (-1 if not set at level).


m_unionExposed

private java.lang.Boolean m_unionExposed
Expose union selection state directly to user.


m_unionCode

private int m_unionCode
Code for xs:union handling (-1 if not set at level).


m_anyCode

private int m_anyCode
Code for xs:any representation (-1 if not set at level).


m_children

private final LazyList m_children
Child customizations.


m_typeSubstitutionMap

private java.util.Map m_typeSubstitutionMap
Map of type substitutions.


m_activeFacetsMask

private long m_activeFacetsMask
Mask for facets active at this level (all facets not in scope of an ignore state).

Constructor Detail

NestingCustomBase

public NestingCustomBase(NestingCustomBase parent)
Constructor.

Parameters:
parent -
Method Detail

getSubstitutions

public QName[] getSubstitutions()
Get type substitution pairs list.

Returns:
substitutions

setSubstitutions

public void setSubstitutions(QName[] subs)
Set type substitution pairs list.

Parameters:
subs -

setEnforcedFacets

public void setEnforcedFacets(java.lang.String[] facets,
                              IUnmarshallingContext ictx)
Set the list of facet elements to be enforced.

Parameters:
facets -
ictx -

setIgnoredFacets

public void setIgnoredFacets(java.lang.String[] facets,
                             IUnmarshallingContext ictx)
Set the list of facet elements to be ignored.

Parameters:
facets -
ictx -

getActiveFacetsMask

public long getActiveFacetsMask()
Get the bitmask of facet element flags to be processed.

Returns:
bitmask

getChildren

public LazyList getChildren()
Get child customizations.

Returns:
children

setReplacement

protected void setReplacement(QName original,
                              QName replace)
Set a type replacement.

Parameters:
original -
replace -

getReplacement

public QName getReplacement(QName qname)
Get replacement type.

Specified by:
getReplacement in interface TypeReplacer
Parameters:
qname -
Returns:
replacement type (null if deletion; original type, if no replacement defined)

getAnyType

public int getAnyType()
Get the xs:any handling type code to be applied for this component and all nested components. The default value is ANY_DOM if not overridden at any level.

Returns:
code

setAnyType

public void setAnyType(int code)
Set the xs:any handling type code.

Parameters:
code - handling code, -1 if to be unset

getAnyHandling

public java.lang.String getAnyHandling()
Get the xs:any handling text value set specifically for this element.

Returns:
text (null if not set)

setAnyHandling

private void setAnyHandling(java.lang.String text,
                            IUnmarshallingContext ictx)
Set the xs:any handling text value. This method is provided only for use when unmarshalling.

Parameters:
text - (null if not set)
ictx -

isChoiceExposed

public boolean isChoiceExposed()
Check whether xs:choice selection states should be exposed to the user. The default is false if not overridden at any level.

Returns:
expose choice state flag

getChoiceType

public int getChoiceType()
Get the xs:choice handling type code to be applied for this component and all nested components. The default value is SELECTION_CHECKEDSET if not overridden at any level.

Returns:
code

setChoiceType

public void setChoiceType(int code)
Set the xs:choice handling type code.

Parameters:
code - handling code, -1 if to be unset

getChoiceHandling

public java.lang.String getChoiceHandling()
Get the xs:choice handling text value set specifically for this element.

Returns:
text (null if not set)

setChoiceHandling

private void setChoiceHandling(java.lang.String text,
                               IUnmarshallingContext ictx)
Set the xs:choice handling text value. This method is provided only for use when unmarshalling.

Parameters:
text - (null if not set)
ictx -

isUnionExposed

public boolean isUnionExposed()
Check whether xs:union selection states should be exposed to the user. The default is false if not overridden at any level.

Returns:
expose union state flag

getUnionType

public int getUnionType()
Get the xs:union handling type code to be applied for this component and all nested components. The default value is SELECTION_CHECKEDSET if not overridden at any level.

Returns:
code

setUnionType

public void setUnionType(int code)
Set the xs:union handling type code.

Parameters:
code - handling code, -1 if to be unset

getUnionHandling

public java.lang.String getUnionHandling()
Get the xs:union handling text value set specifically for this element.

Returns:
text (null if not set)

setUnionHandling

private void setUnionHandling(java.lang.String text,
                              IUnmarshallingContext ictx)
Set the xs:union handling text value. This method is provided only for use when unmarshalling.

Parameters:
text - (null if not set)
ictx -

isAttributeInlined

public boolean isAttributeInlined()
Check whether xs:attribute definitions should always be inlined, even when used in multiple locations. The default is false if not overridden at any level. TODO: implement in customizations

Returns:
inline attribute flag

validate

public boolean validate(ValidationContext vctx)
Validate and finalize customization information. This creates a new type substitution map and active facets mask, or inherits unchanged values from the parent customization.

Parameters:
vctx - validation context
Returns:
true if valid, false if not


Project Web Site