Class ExtendedBinding
java.lang.Object
org.exolab.castor.builder.binding.xml.Binding
org.exolab.castor.builder.binding.ExtendedBinding
- All Implemented Interfaces:
Serializable
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/@barThe keywords complexType and group are used to identify respectively an XML Schema ComplexType and a Model Group definition.
- Version:
- $Revision$ $Date: 2005-03-05 06:42:06 -0700 (Sat, 05 Mar 2005) $
- Author:
- Arnaud Blandin
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final String
Prefix used to identify an attribute.static final String
Prefix used to identify a complexType.static final String
Prefix used to identify an enumeration.static final String
Prefix used to identify a model group.protected static final String
Constants needed to create the XPath.static final String
Prefix used to identity a simplyType. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
existsExclusion
(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
(String localName) Indicates whether an <force> element has been specified in a binding file for the given 'local name' of an element definition.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.getExclusion
(String localName) Returns theExclude
instance for the element identified by the given local name.Returns all <force> elements defined in the binding file.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 Details
-
PATH_SEPARATOR
-
ATTRIBUTE_PREFIX
-
COMPLEXTYPE_ID
-
SIMPLETYPE_ID
-
ENUMTYPE_ID
-
GROUP_ID
-
-
Constructor Details
-
ExtendedBinding
public ExtendedBinding()Default constructor.- See Also:
-
-
Method Details
-
getComponentBindingType
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.
-
existsExclusion
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
-
existsForce
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
-