public class ComplexSupportXSAnyTypeBinding extends XSAnyTypeBinding
XSAnyTypeBinding that adds support for ComplexAttribute and
related behaviours.
This binding that searches the substitution group of XSD element children to find properties of a complex attribute. This is necessary to support the GML property type pattern, in which a property (a property-type type) contains a property that is a member of a substitution group. gml:AttributeType is the canonical example of the property type pattern.
gml:FeaturePropertyType is an example of the property type pattern that has an explicit
binding FeaturePropertyTypeBinding, but because an application schema may define more
property types whose names are not known at compile time, a binding like FeaturePropertyTypeBinding cannot be written. This class exists to handle these
application-schema-defined property types.
This class supports the encoding of XML complexType with simpleContent through extraction of a simpleContent property, as well as encoding XML attributes stored in the UserData map.
| Constructor and Description |
|---|
ComplexSupportXSAnyTypeBinding(XSDIdRegistry idRegistry) |
| Modifier and Type | Method and Description |
|---|---|
Element |
encode(Object object,
Document document,
Element value)
Subclasses should override this method if need be, the default implementation returns
value.
|
List<Object[]> |
getProperties(Object object,
XSDElementDeclaration element)
Subclasses should override this method if need be, the default implementation returns
null. |
Object |
getProperty(Object object,
QName name)
Subclasses should override this method if need be, the default implementation returns
null. |
getExecutionMode, getTarget, getType, initialize, parseinitializeChildContextpublic ComplexSupportXSAnyTypeBinding(XSDIdRegistry idRegistry)
public Object getProperty(Object object, QName name) throws Exception
AbstractComplexBinding
null.getProperty in interface ComplexBindinggetProperty in class AbstractComplexBindingobject - The object being encoded.name - The name of the property to obtain.null.ExceptionAbstractComplexBinding.getProperty(java.lang.Object, javax.xml.namespace.QName)public List<Object[]> getProperties(Object object, XSDElementDeclaration element) throws Exception
AbstractComplexBinding
null.
Note that this method only needs to be implemented for schema types which are open-ended in which the contents are not specifically specified by the schema.
getProperties in interface ComplexBindinggetProperties in class AbstractComplexBindingobject - the object being encoded.ExceptionAbstractComplexBinding.getProperties(java.lang.Object,
org.eclipse.xsd.XSDElementDeclaration)public Element encode(Object object, Document document, Element value) throws Exception
AbstractComplexBindingencode in interface ComplexBindingencode in class AbstractComplexBindingobject - The object being encoded.document - The document containing the encoded element.value - The object as encoded by the parent binding.nullExceptionAbstractComplexBinding.encode(java.lang.Object, org.w3c.dom.Document,
org.w3c.dom.Element)Copyright © 1996–2021 Geotools. All rights reserved.