Class ExtendedBinding
- java.lang.Object
-
- org.exolab.castor.builder.binding.xml.Binding
-
- org.exolab.castor.builder.binding.ExtendedBinding
-
- All Implemented Interfaces:
java.io.Serializable
public final class ExtendedBinding extends Binding
This class adds the necessary logic to a Binding Object to bring the gap between the XML Schema Object Model and the Binding File. It queries the Binding Object to retrieve the the associated ComponentBinding.An "XPath like" representation of an XML Schema structure is built to lookup the component bindings in their storage structure. The algorithm used to build the "XPath like" representation is summarized in the following example: Given the XML schema declaration:
<xsd:element name="foo"> <xsd:complextype> <xsd:attribute name="bar" type="xsd:string"/> </xsd:complextype> </xsd:element>
The path to identify the attribute 'bar' will be:/foo/@bar
The keywords complexType and group are used to identify respectively an XML Schema ComplexType and a Model Group definition.- Version:
- $Revision: 7943 $ $Date: 2005-03-05 06:42:06 -0700 (Sat, 05 Mar 2005) $
- Author:
- Arnaud Blandin
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.String
ATTRIBUTE_PREFIX
Prefix used to identify an attribute.static java.lang.String
COMPLEXTYPE_ID
Prefix used to identify a complexType.static java.lang.String
ENUMTYPE_ID
Prefix used to identify an enumeration.static java.lang.String
GROUP_ID
Prefix used to identify a model group.protected static java.lang.String
PATH_SEPARATOR
Constants needed to create the XPath.static java.lang.String
SIMPLETYPE_ID
Prefix used to identity a simplyType.
-
Constructor Summary
Constructors Constructor Description ExtendedBinding()
Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
existsExclusion(java.lang.String localName)
Indicates whether an <exclude> element has been specified in a binding file for the given 'local name' of an element definition.boolean
existsForce(java.lang.String localName)
Indicates whether an <force> element has been specified in a binding file for the given 'local name' of an element definition.ComponentBindingType
getComponentBindingType(Annotated annotated)
Returns the ComponentBinding that corresponds to the given Annotated XML Schema structure An Schema location will be built for the given Annotated XML schema structure.Exclude
getExclusion(java.lang.String localName)
Returns theExclude
instance for the element identified by the given local name.java.util.Set<java.lang.String>
getForces()
Returns all <force> elements defined in the binding file.(package private) void
handleAutomaticNaming(AutomaticNamingType type)
Process automatic name conflict resolution section, and memorize definitions.-
Methods inherited from class org.exolab.castor.builder.binding.xml.Binding
addAttributeBinding, addAttributeBinding, addComplexTypeBinding, addComplexTypeBinding, addComponentBinding, addComponentBinding, addElementBinding, addElementBinding, addEnumBinding, addEnumBinding, addGroupBinding, addGroupBinding, addInclude, addInclude, addPackage, addPackage, addSimpleTypeBinding, addSimpleTypeBinding, enumerateAttributeBinding, enumerateComplexTypeBinding, enumerateComponentBinding, enumerateElementBinding, enumerateEnumBinding, enumerateGroupBinding, enumerateInclude, enumeratePackage, enumerateSimpleTypeBinding, getAttributeBinding, getAttributeBinding, getAttributeBindingCount, getAutomaticNaming, getComplexTypeBinding, getComplexTypeBinding, getComplexTypeBindingCount, getComponentBinding, getComponentBinding, getComponentBindingCount, getDefaultBindingType, getElementBinding, getElementBinding, getElementBindingCount, getEnumBinding, getEnumBinding, getEnumBindingCount, getGroupBinding, getGroupBinding, getGroupBindingCount, getInclude, getInclude, getIncludeCount, getNamingXML, getPackage, getPackage, getPackageCount, getSimpleTypeBinding, getSimpleTypeBinding, getSimpleTypeBindingCount, isValid, iterateAttributeBinding, iterateComplexTypeBinding, iterateComponentBinding, iterateElementBinding, iterateEnumBinding, iterateGroupBinding, iterateInclude, iteratePackage, iterateSimpleTypeBinding, marshal, marshal, removeAllAttributeBinding, removeAllComplexTypeBinding, removeAllComponentBinding, removeAllElementBinding, removeAllEnumBinding, removeAllGroupBinding, removeAllInclude, removeAllPackage, removeAllSimpleTypeBinding, removeAttributeBinding, removeAttributeBindingAt, removeComplexTypeBinding, removeComplexTypeBindingAt, removeComponentBinding, removeComponentBindingAt, removeElementBinding, removeElementBindingAt, removeEnumBinding, removeEnumBindingAt, removeGroupBinding, removeGroupBindingAt, removeInclude, removeIncludeAt, removePackage, removePackageAt, removeSimpleTypeBinding, removeSimpleTypeBindingAt, setAttributeBinding, setAttributeBinding, setAutomaticNaming, setComplexTypeBinding, setComplexTypeBinding, setComponentBinding, setComponentBinding, setDefaultBindingType, setElementBinding, setElementBinding, setEnumBinding, setEnumBinding, setGroupBinding, setGroupBinding, setInclude, setInclude, setNamingXML, setPackage, setPackage, setSimpleTypeBinding, setSimpleTypeBinding, unmarshalBinding, validate
-
-
-
-
Field Detail
-
PATH_SEPARATOR
protected static final java.lang.String PATH_SEPARATOR
Constants needed to create the XPath.- See Also:
- Constant Field Values
-
ATTRIBUTE_PREFIX
protected static final java.lang.String ATTRIBUTE_PREFIX
Prefix used to identify an attribute.- See Also:
- Constant Field Values
-
COMPLEXTYPE_ID
public static final java.lang.String COMPLEXTYPE_ID
Prefix used to identify a complexType.- See Also:
- Constant Field Values
-
SIMPLETYPE_ID
public static final java.lang.String SIMPLETYPE_ID
Prefix used to identity a simplyType.- See Also:
- Constant Field Values
-
ENUMTYPE_ID
public static final java.lang.String ENUMTYPE_ID
Prefix used to identify an enumeration.- See Also:
- Constant Field Values
-
GROUP_ID
public static final java.lang.String GROUP_ID
Prefix used to identify a model group.- See Also:
- Constant Field Values
-
-
Method Detail
-
getComponentBindingType
public ComponentBindingType getComponentBindingType(Annotated annotated)
Returns the ComponentBinding that corresponds to the given Annotated XML Schema structure An Schema location will be built for the given Annotated XML schema structure.- Parameters:
annotated
- the XML Schema annotated structure for which to query the Binding object for a ComponentBinding.- Returns:
- the ComponentBinding that corresponds to the given Annotated XML Schema structure.
-
handleAutomaticNaming
void handleAutomaticNaming(AutomaticNamingType type)
Process automatic name conflict resolution section, and memorize definitions.- Parameters:
type
-AutomaticNamingType
instance
-
existsExclusion
public boolean existsExclusion(java.lang.String localName)
Indicates whether an <exclude> element has been specified in a binding file for the given 'local name' of an element definition.- Parameters:
localName
- 'local name' of an element definition- Returns:
- True if an <exclude> element has been specified
-
getExclusion
public Exclude getExclusion(java.lang.String localName)
Returns theExclude
instance for the element identified by the given local name.- Parameters:
localName
- Local name for an element (definition).- Returns:
- The
Exclude
instance.
-
existsForce
public boolean existsForce(java.lang.String localName)
Indicates whether an <force> element has been specified in a binding file for the given 'local name' of an element definition.- Parameters:
localName
- 'local name' of an element definition- Returns:
- True if an <force> element has been specified
-
getForces
public java.util.Set<java.lang.String> getForces()
Returns all <force> elements defined in the binding file.- Returns:
- all <force> elements defined in the binding file
-
-