org.jibx.binding.def
Class BindingBuilder

java.lang.Object
  extended by org.jibx.binding.def.BindingBuilder

public abstract class BindingBuilder
extends java.lang.Object

Binding definition builder. This processes the binding definition file to generate the code generation structure.

Version:
1.0
Author:
Dennis M. Sosnoski

Nested Class Summary
(package private) static class BindingBuilder.ContainerBase
          Base class for containers.
 
Field Summary
(package private) static int ACC_PACKAGE
           
(package private) static int ACC_PRIVATE
           
(package private) static int ACC_PROTECTED
           
(package private) static int ACC_PUBLIC
           
private static java.lang.String[] ACCESS_LEVEL_NAMES
           
private static int[] ACCESS_LEVEL_NUMS
           
private static java.lang.String[] AUTO_LINK_NAMES
           
private static int[] AUTO_LINK_NUMS
           
private static java.lang.String BINDING_DIRECTION
           
private static java.lang.String BINDING_ELEMENT
          Definitions for "binding" element use "BINDING" prefix.
private static java.lang.String BINDING_FORCE
           
private static java.lang.String BINDING_FORWARDS
           
private static java.lang.String BINDING_GLOBALID
           
private static java.lang.String BINDING_NAME
           
private static java.lang.String BINDING_PACKAGE
           
private static java.lang.String BINDING_TRACKING
           
private static java.lang.String[] BINDINGDIR_NAMES
           
private static int[] BINDINGDIR_NUMS
           
private static java.lang.String COLLECTION_ADDMETHOD
           
private static java.lang.String COLLECTION_ELEMENT
          Definitions for "collection" element use "COLLECTION" prefix.
private static java.lang.String COLLECTION_ITEMTYPE
           
private static java.lang.String COLLECTION_ITERMETHOD
           
private static java.lang.String COLLECTION_LOADMETHOD
           
private static java.lang.String COLLECTION_SIZEMETHOD
           
private static java.lang.String COLLECTION_STOREMETHOD
           
private static java.lang.String COMMON_ACCESSLEVEL
           
private static java.lang.String COMMON_AUTOLINK
           
private static java.lang.String COMMON_CHOICE
           
private static java.lang.String COMMON_CREATETYPE
           
private static java.lang.String COMMON_DEFAULT
           
private static java.lang.String COMMON_DESERIALIZER
           
private static java.lang.String COMMON_DUPLICATES
           
private static java.lang.String COMMON_FACTORY
           
private static java.lang.String COMMON_FIELD
           
private static java.lang.String COMMON_FLEXIBLE
           
private static java.lang.String COMMON_GETMETHOD
           
private static java.lang.String COMMON_LABEL
           
private static java.lang.String COMMON_MARSHALLER
           
private static java.lang.String COMMON_NAME
           
private static java.lang.String COMMON_NAMESPACE
           
private static java.lang.String COMMON_NAMESTYLE
           
private static java.lang.String COMMON_NILLABLE
           
private static java.lang.String COMMON_ORDERED
           
private static java.lang.String COMMON_POSTSET
           
private static java.lang.String COMMON_PREGET
           
private static java.lang.String COMMON_PRESET
           
private static java.lang.String COMMON_SERIALIZER
           
private static java.lang.String COMMON_SETMETHOD
           
private static java.lang.String COMMON_STRIPPREFIX
           
private static java.lang.String COMMON_STRIPSUFFIX
           
private static java.lang.String COMMON_STYLE
           
private static java.lang.String COMMON_TESTMETHOD
           
private static java.lang.String COMMON_TYPE
           
private static java.lang.String COMMON_UNMARSHALLER
           
private static java.lang.String COMMON_USAGE
           
private static java.lang.String COMMON_USING
           
private static java.lang.String[] COMPONENT_OBJECT_NAMES
           
private static java.lang.String[] COMPONENT_OBJECT_NAMESPACES
           
private static java.lang.String[] CONTAINING_STYLE_NAMES
           
private static int[] CONTAINING_STYLE_NUMS
           
private static int DIRECTION_BOTH
           
private static int DIRECTION_INPUT
           
private static int DIRECTION_OUTPUT
           
private static java.lang.String FORMAT_ELEMENT
          Definitions for "format" element use "FORMAT" prefix.
private static java.lang.String FORMAT_NAME
           
private static java.lang.String FORMAT_TYPE
           
private static java.lang.String[] IDENTTYPE_NAMES
           
private static int[] IDENTTYPE_NUMS
           
private static java.lang.String INCLUDE_ELEMENT
          Definitions for "include" element use "INCLUDE" prefix.
private static java.lang.String INCLUDE_PATH
           
(package private) static int LINK_FIELDS
           
(package private) static int LINK_METHODS
           
(package private) static int LINK_NONE
           
private static java.lang.String MAPPING_ABSTRACT
           
private static java.lang.String MAPPING_CLASS
           
private static java.lang.String MAPPING_ELEMENT
          Definitions for "mapping" element use "MAPPING" prefix.
private static java.lang.String MAPPING_EXTENDS
           
private static java.lang.String MAPPING_TYPENAME
           
private static java.lang.String MARSHALLER_INTERFACE
           
private static java.lang.String MARSHALLER_INTERFACETYPE
           
private static java.lang.String[] NAME_GENERATE_NAMES
           
private static int[] NAME_GENERATE_NUMS
           
(package private) static int NAME_HYPHENS
           
(package private) static int NAME_MIXED
           
private static java.lang.String NAMESPACE_DEFAULT
           
private static java.lang.String NAMESPACE_ELEMENT
          Definitions for "namespace" element use "NAMESPACE" prefix.
private static java.lang.String NAMESPACE_PREFIX
           
private static java.lang.String NAMESPACE_URI
           
private static java.lang.String[] NAMESPACEACCESS_NAMES
           
private static int[] NAMESPACEACCESS_NUMS
           
private static java.lang.String STRUCTURE_ELEMENT
          Definitions for "structure" element use "STRUCTURE" prefix.
private static java.lang.String STRUCTURE_MAPAS
           
private static java.lang.String UNMARSHALLER_INTERFACE
           
private static java.lang.String UNMARSHALLER_INTERFACETYPE
           
private static java.lang.String URI_ATTRIBUTES
          Attribute namespace used for binding definition file.
private static java.lang.String URI_ELEMENTS
          Element namespace used for binding definition file.
private static java.lang.String USAGE_OPTIONAL
           
private static java.lang.String USAGE_REQUIRED
           
private static java.lang.String VALUE_CONSTANT
           
private static java.lang.String VALUE_ELEMENT
          Definitions for "value" element use "VALUE" prefix.
private static java.lang.String VALUE_FORMAT
           
private static java.lang.String VALUE_IDENT
           
private static java.lang.String VALUE_STYLE
           
private static java.lang.String[] VALUE_STYLE_NAMES
           
private static int[] VALUE_STYLE_NUMS
           
 
Constructor Summary
BindingBuilder()
           
 
Method Summary
private static boolean isDirectObject(UnmarshallingContext ctx)
          Check if attributes define a direct object reference.
private static boolean isMappingRef(UnmarshallingContext ctx)
          Check if attributes define a mapping reference.
private static boolean isNamePresent(UnmarshallingContext ctx)
          Check if attributes supply a name definition.
private static boolean isObjectBinding(UnmarshallingContext ctx)
          Check for component object present.
private static boolean isOptionalProperty(UnmarshallingContext ctx)
          Check for optional property.
private static boolean isPropertyPresent(UnmarshallingContext ctx)
          Check for property definition present.
static BindingDefinition unmarshalBindingDefinition(UnmarshallingContext ctx, java.lang.String name, java.net.URL root)
          Unmarshal binding definition.
private static DirectObject unmarshalDirectObj(UnmarshallingContext ctx, java.lang.String type, IContainer parent, DefinitionContext defc, int slot, NameDefinition name)
          Unmarshal direct object component.
private static void unmarshalFormats(UnmarshallingContext ctx, DefinitionContext defc)
          Unmarshal format definitions.
static void unmarshalInclude(UnmarshallingContext ctx, BindingDefinition bdef, java.net.URL root, java.util.ArrayList nslist, java.util.HashSet paths)
          Unmarshal included binding.
static IMapping unmarshalMapping(UnmarshallingContext ctx, IContainer parent, java.util.ArrayList nss, boolean uord)
          Unmarshal mapping definition.
private static IComponent unmarshalMappingRef(UnmarshallingContext ctx, IContainer parent, IContextObj objc, PropertyDefinition prop, NameDefinition name)
          Unmarshal mapping reference component.
private static void unmarshalMappings(UnmarshallingContext ctx, IContainer parent, java.util.ArrayList nss, boolean uord)
          Unmarshal mapping definitions.
private static NameDefinition unmarshalName(UnmarshallingContext ctx, boolean attr)
          Unmarshal name definition.
private static NamespaceDefinition unmarshalNamespace(UnmarshallingContext ctx)
          Unmarshal namespace definition.
private static void unmarshalNamespaces(UnmarshallingContext ctx, DefinitionContext defc)
          Unmarshal namespace definitions.
private static ObjectBinding unmarshalObjectBinding(UnmarshallingContext ctx, IContextObj objc, IContainer parent, java.lang.String type)
          Unmarshal object binding component.
private static PropertyDefinition unmarshalProperty(UnmarshallingContext ctx, IContainer parent, IContextObj cobj, boolean opt)
          Unmarshal property definition.
private static StringConversion unmarshalStringConversion(UnmarshallingContext ctx, StringConversion base, java.lang.String type)
          Unmarshal string conversion.
static IComponent unmarshalStructure(UnmarshallingContext ctx, IContainer contain, IContextObj cobj, boolean coll, boolean uord, boolean implic)
          Unmarshal subclass instance for structure definition.
private static void unmarshalStructureChildren(UnmarshallingContext ctx, NestedBase nest, IContextObj objc, boolean impl, java.lang.String itype)
          Unmarshal child bindings for a nested structure definition.
private static IComponent unmarshalStructureRef(UnmarshallingContext ctx, IContainer contain, NameDefinition name, PropertyDefinition prop, IContextObj cobj)
          Unmarshal structure reference component.
private static ValueChild unmarshalValue(UnmarshallingContext ctx, IContainer parent, IContextObj cobj, boolean uord, boolean impl, java.lang.String itype)
          Unmarshal value definition.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

URI_ELEMENTS

private static final java.lang.String URI_ELEMENTS
Element namespace used for binding definition file.


URI_ATTRIBUTES

private static final java.lang.String URI_ATTRIBUTES
Attribute namespace used for binding definition file.


COMMON_STYLE

private static final java.lang.String COMMON_STYLE
See Also:
Constant Field Values

COMMON_AUTOLINK

private static final java.lang.String COMMON_AUTOLINK
See Also:
Constant Field Values

COMMON_ACCESSLEVEL

private static final java.lang.String COMMON_ACCESSLEVEL
See Also:
Constant Field Values

COMMON_STRIPPREFIX

private static final java.lang.String COMMON_STRIPPREFIX
See Also:
Constant Field Values

COMMON_STRIPSUFFIX

private static final java.lang.String COMMON_STRIPSUFFIX
See Also:
Constant Field Values

COMMON_NAMESTYLE

private static final java.lang.String COMMON_NAMESTYLE
See Also:
Constant Field Values

COMMON_NAME

private static final java.lang.String COMMON_NAME
See Also:
Constant Field Values

COMMON_NAMESPACE

private static final java.lang.String COMMON_NAMESPACE
See Also:
Constant Field Values

COMMON_FACTORY

private static final java.lang.String COMMON_FACTORY
See Also:
Constant Field Values

COMMON_PRESET

private static final java.lang.String COMMON_PRESET
See Also:
Constant Field Values

COMMON_POSTSET

private static final java.lang.String COMMON_POSTSET
See Also:
Constant Field Values

COMMON_PREGET

private static final java.lang.String COMMON_PREGET
See Also:
Constant Field Values

COMMON_MARSHALLER

private static final java.lang.String COMMON_MARSHALLER
See Also:
Constant Field Values

COMMON_UNMARSHALLER

private static final java.lang.String COMMON_UNMARSHALLER
See Also:
Constant Field Values

COMMON_CREATETYPE

private static final java.lang.String COMMON_CREATETYPE
See Also:
Constant Field Values

COMMON_FIELD

private static final java.lang.String COMMON_FIELD
See Also:
Constant Field Values

COMMON_TYPE

private static final java.lang.String COMMON_TYPE
See Also:
Constant Field Values

COMMON_USAGE

private static final java.lang.String COMMON_USAGE
See Also:
Constant Field Values

COMMON_TESTMETHOD

private static final java.lang.String COMMON_TESTMETHOD
See Also:
Constant Field Values

COMMON_GETMETHOD

private static final java.lang.String COMMON_GETMETHOD
See Also:
Constant Field Values

COMMON_SETMETHOD

private static final java.lang.String COMMON_SETMETHOD
See Also:
Constant Field Values

COMMON_DEFAULT

private static final java.lang.String COMMON_DEFAULT
See Also:
Constant Field Values

COMMON_SERIALIZER

private static final java.lang.String COMMON_SERIALIZER
See Also:
Constant Field Values

COMMON_DESERIALIZER

private static final java.lang.String COMMON_DESERIALIZER
See Also:
Constant Field Values

COMMON_LABEL

private static final java.lang.String COMMON_LABEL
See Also:
Constant Field Values

COMMON_USING

private static final java.lang.String COMMON_USING
See Also:
Constant Field Values

COMMON_ORDERED

private static final java.lang.String COMMON_ORDERED
See Also:
Constant Field Values

COMMON_CHOICE

private static final java.lang.String COMMON_CHOICE
See Also:
Constant Field Values

COMMON_FLEXIBLE

private static final java.lang.String COMMON_FLEXIBLE
See Also:
Constant Field Values

COMMON_DUPLICATES

private static final java.lang.String COMMON_DUPLICATES
See Also:
Constant Field Values

COMMON_NILLABLE

private static final java.lang.String COMMON_NILLABLE
See Also:
Constant Field Values

BINDING_ELEMENT

private static final java.lang.String BINDING_ELEMENT
Definitions for "binding" element use "BINDING" prefix.

See Also:
Constant Field Values

BINDING_NAME

private static final java.lang.String BINDING_NAME
See Also:
Constant Field Values

BINDING_DIRECTION

private static final java.lang.String BINDING_DIRECTION
See Also:
Constant Field Values

BINDING_GLOBALID

private static final java.lang.String BINDING_GLOBALID
See Also:
Constant Field Values

BINDING_FORWARDS

private static final java.lang.String BINDING_FORWARDS
See Also:
Constant Field Values

BINDING_PACKAGE

private static final java.lang.String BINDING_PACKAGE
See Also:
Constant Field Values

BINDING_TRACKING

private static final java.lang.String BINDING_TRACKING
See Also:
Constant Field Values

BINDING_FORCE

private static final java.lang.String BINDING_FORCE
See Also:
Constant Field Values

NAMESPACE_ELEMENT

private static final java.lang.String NAMESPACE_ELEMENT
Definitions for "namespace" element use "NAMESPACE" prefix.

See Also:
Constant Field Values

NAMESPACE_URI

private static final java.lang.String NAMESPACE_URI
See Also:
Constant Field Values

NAMESPACE_PREFIX

private static final java.lang.String NAMESPACE_PREFIX
See Also:
Constant Field Values

NAMESPACE_DEFAULT

private static final java.lang.String NAMESPACE_DEFAULT
See Also:
Constant Field Values

FORMAT_ELEMENT

private static final java.lang.String FORMAT_ELEMENT
Definitions for "format" element use "FORMAT" prefix.

See Also:
Constant Field Values

FORMAT_NAME

private static final java.lang.String FORMAT_NAME
See Also:
Constant Field Values

FORMAT_TYPE

private static final java.lang.String FORMAT_TYPE
See Also:
Constant Field Values

MAPPING_ELEMENT

private static final java.lang.String MAPPING_ELEMENT
Definitions for "mapping" element use "MAPPING" prefix.

See Also:
Constant Field Values

MAPPING_CLASS

private static final java.lang.String MAPPING_CLASS
See Also:
Constant Field Values

MAPPING_ABSTRACT

private static final java.lang.String MAPPING_ABSTRACT
See Also:
Constant Field Values

MAPPING_EXTENDS

private static final java.lang.String MAPPING_EXTENDS
See Also:
Constant Field Values

MAPPING_TYPENAME

private static final java.lang.String MAPPING_TYPENAME
See Also:
Constant Field Values

VALUE_ELEMENT

private static final java.lang.String VALUE_ELEMENT
Definitions for "value" element use "VALUE" prefix.

See Also:
Constant Field Values

VALUE_STYLE

private static final java.lang.String VALUE_STYLE
See Also:
Constant Field Values

VALUE_FORMAT

private static final java.lang.String VALUE_FORMAT
See Also:
Constant Field Values

VALUE_CONSTANT

private static final java.lang.String VALUE_CONSTANT
See Also:
Constant Field Values

VALUE_IDENT

private static final java.lang.String VALUE_IDENT
See Also:
Constant Field Values

STRUCTURE_ELEMENT

private static final java.lang.String STRUCTURE_ELEMENT
Definitions for "structure" element use "STRUCTURE" prefix.

See Also:
Constant Field Values

STRUCTURE_MAPAS

private static final java.lang.String STRUCTURE_MAPAS
See Also:
Constant Field Values

COLLECTION_ELEMENT

private static final java.lang.String COLLECTION_ELEMENT
Definitions for "collection" element use "COLLECTION" prefix.

See Also:
Constant Field Values

COLLECTION_LOADMETHOD

private static final java.lang.String COLLECTION_LOADMETHOD
See Also:
Constant Field Values

COLLECTION_SIZEMETHOD

private static final java.lang.String COLLECTION_SIZEMETHOD
See Also:
Constant Field Values

COLLECTION_STOREMETHOD

private static final java.lang.String COLLECTION_STOREMETHOD
See Also:
Constant Field Values

COLLECTION_ADDMETHOD

private static final java.lang.String COLLECTION_ADDMETHOD
See Also:
Constant Field Values

COLLECTION_ITERMETHOD

private static final java.lang.String COLLECTION_ITERMETHOD
See Also:
Constant Field Values

COLLECTION_ITEMTYPE

private static final java.lang.String COLLECTION_ITEMTYPE
See Also:
Constant Field Values

INCLUDE_ELEMENT

private static final java.lang.String INCLUDE_ELEMENT
Definitions for "include" element use "INCLUDE" prefix.

See Also:
Constant Field Values

INCLUDE_PATH

private static final java.lang.String INCLUDE_PATH
See Also:
Constant Field Values

VALUE_STYLE_NAMES

private static final java.lang.String[] VALUE_STYLE_NAMES

VALUE_STYLE_NUMS

private static final int[] VALUE_STYLE_NUMS

CONTAINING_STYLE_NAMES

private static final java.lang.String[] CONTAINING_STYLE_NAMES

CONTAINING_STYLE_NUMS

private static final int[] CONTAINING_STYLE_NUMS

LINK_NONE

static final int LINK_NONE
See Also:
Constant Field Values

LINK_FIELDS

static final int LINK_FIELDS
See Also:
Constant Field Values

LINK_METHODS

static final int LINK_METHODS
See Also:
Constant Field Values

AUTO_LINK_NAMES

private static final java.lang.String[] AUTO_LINK_NAMES

AUTO_LINK_NUMS

private static final int[] AUTO_LINK_NUMS

ACC_PRIVATE

static final int ACC_PRIVATE
See Also:
Constant Field Values

ACC_PACKAGE

static final int ACC_PACKAGE
See Also:
Constant Field Values

ACC_PROTECTED

static final int ACC_PROTECTED
See Also:
Constant Field Values

ACC_PUBLIC

static final int ACC_PUBLIC
See Also:
Constant Field Values

ACCESS_LEVEL_NAMES

private static final java.lang.String[] ACCESS_LEVEL_NAMES

ACCESS_LEVEL_NUMS

private static final int[] ACCESS_LEVEL_NUMS

NAME_HYPHENS

static final int NAME_HYPHENS
See Also:
Constant Field Values

NAME_MIXED

static final int NAME_MIXED
See Also:
Constant Field Values

NAME_GENERATE_NAMES

private static final java.lang.String[] NAME_GENERATE_NAMES

NAME_GENERATE_NUMS

private static final int[] NAME_GENERATE_NUMS

COMPONENT_OBJECT_NAMESPACES

private static final java.lang.String[] COMPONENT_OBJECT_NAMESPACES

COMPONENT_OBJECT_NAMES

private static final java.lang.String[] COMPONENT_OBJECT_NAMES

NAMESPACEACCESS_NAMES

private static final java.lang.String[] NAMESPACEACCESS_NAMES

NAMESPACEACCESS_NUMS

private static final int[] NAMESPACEACCESS_NUMS

IDENTTYPE_NAMES

private static final java.lang.String[] IDENTTYPE_NAMES

IDENTTYPE_NUMS

private static final int[] IDENTTYPE_NUMS

DIRECTION_INPUT

private static final int DIRECTION_INPUT
See Also:
Constant Field Values

DIRECTION_OUTPUT

private static final int DIRECTION_OUTPUT
See Also:
Constant Field Values

DIRECTION_BOTH

private static final int DIRECTION_BOTH
See Also:
Constant Field Values

BINDINGDIR_NAMES

private static final java.lang.String[] BINDINGDIR_NAMES

BINDINGDIR_NUMS

private static final int[] BINDINGDIR_NUMS

USAGE_OPTIONAL

private static final java.lang.String USAGE_OPTIONAL
See Also:
Constant Field Values

USAGE_REQUIRED

private static final java.lang.String USAGE_REQUIRED
See Also:
Constant Field Values

UNMARSHALLER_INTERFACE

private static final java.lang.String UNMARSHALLER_INTERFACE
See Also:
Constant Field Values

MARSHALLER_INTERFACE

private static final java.lang.String MARSHALLER_INTERFACE
See Also:
Constant Field Values

UNMARSHALLER_INTERFACETYPE

private static final java.lang.String UNMARSHALLER_INTERFACETYPE
See Also:
Constant Field Values

MARSHALLER_INTERFACETYPE

private static final java.lang.String MARSHALLER_INTERFACETYPE
See Also:
Constant Field Values
Constructor Detail

BindingBuilder

public BindingBuilder()
Method Detail

isNamePresent

private static boolean isNamePresent(UnmarshallingContext ctx)
Check if attributes supply a name definition.

Parameters:
ctx - unmarshalling context information
Returns:
true if attributes define a name, false if not

isPropertyPresent

private static boolean isPropertyPresent(UnmarshallingContext ctx)
Check for property definition present. Just checks the attributes of the current element.

Parameters:
ctx - unmarshalling context information

isDirectObject

private static boolean isDirectObject(UnmarshallingContext ctx)
Check if attributes define a direct object reference. Just checks the attributes of the current element.

Parameters:
ctx - unmarshalling context information

isMappingRef

private static boolean isMappingRef(UnmarshallingContext ctx)
                             throws JiBXException
Check if attributes define a mapping reference.

Parameters:
ctx - unmarshalling context information
Returns:
true if attributes define a mapping reference, false if not
Throws:
JiBXException - if error in unmarshalling

isObjectBinding

private static boolean isObjectBinding(UnmarshallingContext ctx)
                                throws JiBXException
Check for component object present. Just checks the attributes of the current element, so this is not definitive - there may still be child binding definitions even without attributes.

Parameters:
ctx - unmarshalling context information
Throws:
JiBXException - if error in unmarshalling

unmarshalName

private static NameDefinition unmarshalName(UnmarshallingContext ctx,
                                            boolean attr)
                                     throws JiBXException
Unmarshal name definition. This unmarshals directly from attributes of the current element.

Parameters:
ctx - unmarshalling context information
attr - flag for attribute name definition
Throws:
JiBXException - if error in unmarshalling

unmarshalNamespace

private static NamespaceDefinition unmarshalNamespace(UnmarshallingContext ctx)
                                               throws JiBXException
Unmarshal namespace definition.

Parameters:
ctx - unmarshalling context information
Throws:
JiBXException - if error in unmarshalling

unmarshalStringConversion

private static StringConversion unmarshalStringConversion(UnmarshallingContext ctx,
                                                          StringConversion base,
                                                          java.lang.String type)
                                                   throws JiBXException
Unmarshal string conversion. Unmarshals conversion information directly from the attributes of the current start tag.

Parameters:
ctx - unmarshalling context information
base - conversion used as base for this conversion
type - fully qualified class name of type handled by conversion
Throws:
JiBXException - if error in unmarshalling

isOptionalProperty

private static boolean isOptionalProperty(UnmarshallingContext ctx)
                                   throws JiBXException
Check for optional property. Just checks for the attribute and makes sure it has a valid value if present, returning either the default or the defined value.

Parameters:
ctx - unmarshalling context information
Returns:
true if attribute present with value "true", false otherwise
Throws:
JiBXException - if error in unmarshalling

unmarshalProperty

private static PropertyDefinition unmarshalProperty(UnmarshallingContext ctx,
                                                    IContainer parent,
                                                    IContextObj cobj,
                                                    boolean opt)
                                             throws JiBXException
Unmarshal property definition. This unmarshals directly from attributes of the current element.

Parameters:
ctx - unmarshalling context information
parent - containing binding definition structure
cobj - context object information
opt - force optional value flag
Throws:
JiBXException - if error in unmarshalling

unmarshalValue

private static ValueChild unmarshalValue(UnmarshallingContext ctx,
                                         IContainer parent,
                                         IContextObj cobj,
                                         boolean uord,
                                         boolean impl,
                                         java.lang.String itype)
                                  throws JiBXException
Unmarshal value definition. This handles the complete element supplying the value binding.

Parameters:
ctx - unmarshalling context information
parent - containing binding definition structure
cobj - context object information
uord - unordered collection member flag
impl - implicit value from collection flag
itype - base type for value
Throws:
JiBXException - if error in unmarshalling

unmarshalDirectObj

private static DirectObject unmarshalDirectObj(UnmarshallingContext ctx,
                                               java.lang.String type,
                                               IContainer parent,
                                               DefinitionContext defc,
                                               int slot,
                                               NameDefinition name)
                                        throws JiBXException
Unmarshal direct object component. Just constructs the component to be returned along with the supporting objects, and verifies that no disallowed properties are present.

Parameters:
ctx - unmarshalling context information
type - fully qualified class name of object type handled
parent - containing binding definition structure
defc - definition context to be used (if separate from parent, otherwise null)
slot - marshaller/unmarshaller slot number
name - element name information (null if no element name)
Returns:
constructed direct object component
Throws:
JiBXException - if error in unmarshalling

unmarshalMappingRef

private static IComponent unmarshalMappingRef(UnmarshallingContext ctx,
                                              IContainer parent,
                                              IContextObj objc,
                                              PropertyDefinition prop,
                                              NameDefinition name)
                                       throws JiBXException
Unmarshal mapping reference component. Just constructs the component to be returned along with the supporting objects, and verifies that no disallowed properties are present.

Parameters:
ctx - unmarshalling context information
parent - containing binding definition structure
objc - current object context
prop - property definition
name - reference name definition (only allowed with abstract mappings)
Returns:
constructed mapping reference component
Throws:
JiBXException - if error in unmarshalling

unmarshalStructureRef

private static IComponent unmarshalStructureRef(UnmarshallingContext ctx,
                                                IContainer contain,
                                                NameDefinition name,
                                                PropertyDefinition prop,
                                                IContextObj cobj)
                                         throws JiBXException
Unmarshal structure reference component. Just constructs the component to be returned along with the supporting objects, and verifies that no disallowed properties are present.

Parameters:
ctx - unmarshalling context information
contain - containing binding component
name - element name information (null if no element name)
prop - property definition (null if no separate property)
cobj - context object
Returns:
constructed structure reference component
Throws:
JiBXException - if error in unmarshalling

unmarshalStructureChildren

private static void unmarshalStructureChildren(UnmarshallingContext ctx,
                                               NestedBase nest,
                                               IContextObj objc,
                                               boolean impl,
                                               java.lang.String itype)
                                        throws JiBXException
Unmarshal child bindings for a nested structure definition.

Parameters:
ctx - unmarshalling context information
nest - nested structure definition
objc - context object definition
impl - property value implicit flag
itype - item type for child components
Throws:
JiBXException - if error in unmarshalling

unmarshalObjectBinding

private static ObjectBinding unmarshalObjectBinding(UnmarshallingContext ctx,
                                                    IContextObj objc,
                                                    IContainer parent,
                                                    java.lang.String type)
                                             throws JiBXException
Unmarshal object binding component. Just constructs the component to be returned along with the supporting objects. This handles both the unmarshalling of attributes, and of nested binding components.

Parameters:
ctx - unmarshalling context information
parent - containing binding definition structure
objc - current object context
type - fully qualified name of object class
Returns:
constructed structure reference component
Throws:
JiBXException - if error in unmarshalling

unmarshalNamespaces

private static void unmarshalNamespaces(UnmarshallingContext ctx,
                                        DefinitionContext defc)
                                 throws JiBXException
Unmarshal namespace definitions. Any namespace definitions present are unmarshalled and added to the supplied definition context.

Parameters:
ctx - unmarshalling context information
defc - definition context for defined namespaces
Throws:
JiBXException - if error in unmarshalling

unmarshalFormats

private static void unmarshalFormats(UnmarshallingContext ctx,
                                     DefinitionContext defc)
                              throws JiBXException
Unmarshal format definitions. Any format definitions present are unmarshalled and added to the supplied definition context.

Parameters:
ctx - unmarshalling context information
defc - definition context for defined formats
Throws:
JiBXException - if error in unmarshalling

unmarshalMappings

private static void unmarshalMappings(UnmarshallingContext ctx,
                                      IContainer parent,
                                      java.util.ArrayList nss,
                                      boolean uord)
                               throws JiBXException
Unmarshal mapping definitions. Any mapping definitions present are unmarshalled and added to the supplied definition context.

Parameters:
ctx - unmarshalling context information
parent - containing binding definition structure
nss - extra namespaces to be included in this mapping definition (may be null)
uord - container is unordered structure flag
Throws:
JiBXException - if error in unmarshalling

unmarshalStructure

public static IComponent unmarshalStructure(UnmarshallingContext ctx,
                                            IContainer contain,
                                            IContextObj cobj,
                                            boolean coll,
                                            boolean uord,
                                            boolean implic)
                                     throws JiBXException
Unmarshal subclass instance for structure definition. This handles all combinations of attributes on the start tag, generating the appropriate structure of nested components and other classes to represent the binding information within the current element. This must be called with the parse positioned at the start tag of the element to be unmarshalled. TODO: At least split this up, or organize a better way to build binding

Parameters:
ctx - unmarshalling context information
contain - containing binding definition structure
cobj - context object information
coll - collection structure flag
uord - container is unordered structure flag
implic - property value implicit flag
Returns:
root of component tree constructed from binding
Throws:
JiBXException - if error in unmarshalling

unmarshalMapping

public static IMapping unmarshalMapping(UnmarshallingContext ctx,
                                        IContainer parent,
                                        java.util.ArrayList nss,
                                        boolean uord)
                                 throws JiBXException
Unmarshal mapping definition. This handles all combinations of attributes on the start tag, generating the appropriate structure of nested components and other classes to represent the binding information within the current element. This must be called with the parse positioned at the start tag of the element to be unmarshalled.

Parameters:
ctx - unmarshalling context information
parent - containing binding definition structure
nss - extra namespaces to be included in this mapping definition (may be null)
uord - container is unordered structure flag
Returns:
mapping definition constructed from binding
Throws:
JiBXException - if error in unmarshalling

unmarshalInclude

public static void unmarshalInclude(UnmarshallingContext ctx,
                                    BindingDefinition bdef,
                                    java.net.URL root,
                                    java.util.ArrayList nslist,
                                    java.util.HashSet paths)
                             throws JiBXException
Unmarshal included binding. This handles the actual include element along with the actual included binding. The current implementation allows for nested includes, but requires that all the included bindings use compatible settings for the attributes of the root element, and only allows mapping elements as children of the included bindings (no namespace or format elements).

Parameters:
ctx - unmarshalling context information
bdef - binding defintion at root of includes
root - base URL for binding, or null if unknown
nslist - list of namespaces defined
paths - set of binding paths processed
Throws:
JiBXException - if error in unmarshalling

unmarshalBindingDefinition

public static BindingDefinition unmarshalBindingDefinition(UnmarshallingContext ctx,
                                                           java.lang.String name,
                                                           java.net.URL root)
                                                    throws JiBXException
Unmarshal binding definition. This handles the entire binding definition document.

Parameters:
ctx - unmarshalling context information
name - default name for binding
root - base URL for binding, or null if unknown
Throws:
JiBXException - if error in unmarshalling


Project Web Site