org.geotools.xml
Class SimpleContentComplexEMFBinding

Object
  extended by AbstractComplexBinding
      extended by AbstractComplexEMFBinding
          extended by ComplexEMFBinding
              extended by SimpleContentComplexEMFBinding
All Implemented Interfaces:
Binding, ComplexBinding, InstanceBinding

public class SimpleContentComplexEMFBinding
extends ComplexEMFBinding

A binding implementation which handles the case of a complex type with simple content.

Model objects typically have a single "value" getter/setter. This binding calls that method reflectively on the class created by the super type.

Author:
Justin Deoliveira, The Open Planning Project
See Also:
ComplexEMFBinding
Module:
modules/extension/xsd-core (gt-xsd-core.jar)

Field Summary
 
Fields inherited from interface Binding
AFTER, BEFORE, OVERRIDE
 
Constructor Summary
SimpleContentComplexEMFBinding(EFactory factory, QName target)
           
 
Method Summary
 Element encode(Object object, Document document, Element value)
          Calls getValue() and appends the result as child text of value.
 Object parse(ElementInstance instance, Node node, Object value)
          Takes value and sets its to the object value.
 
Methods inherited from class ComplexEMFBinding
getTarget
 
Methods inherited from class AbstractComplexEMFBinding
createEObject, getProperty, getType, setProperty
 
Methods inherited from class AbstractComplexBinding
getExecutionMode, getProperties, getProperties, initializeChildContext
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SimpleContentComplexEMFBinding

public SimpleContentComplexEMFBinding(EFactory factory,
                                      QName target)
Method Detail

parse

public Object parse(ElementInstance instance,
                    Node node,
                    Object value)
             throws Exception
Takes value and sets its to the object value.

Specified by:
parse in interface ComplexBinding
Overrides:
parse in class AbstractComplexEMFBinding
Parameters:
instance - The element being parsed.
node - The node in the parse tree representing the element being parsed.
value - The result of the parse from another strategy in the type hierarchy. Could be null if this is the first strategy being executed.
Returns:
The parsed object, or null if the component could not be parsed.
Throws:
Exception - Strategy objects should not attempt to handle any exceptions.

encode

public Element encode(Object object,
                      Document document,
                      Element value)
               throws Exception
Calls getValue() and appends the result as child text of value.

Specified by:
encode in interface ComplexBinding
Overrides:
encode in class AbstractComplexBinding
Parameters:
object - The object being encoded.
document - The document containing the encoded element.
value - The object as encoded by the parent binding.
Returns:
The element for the objcet being encoded, or null
Throws:
Exception
See Also:
ComplexBinding.encode(Object, Document, Element).


Copyright © 1996-2009 Geotools. All Rights Reserved.