com.taursys.xml
Class ElementDelegate

java.lang.Object
  extended bycom.taursys.xml.Component
      extended bycom.taursys.xml.Container
          extended bycom.taursys.xml.DispatchingContainer
              extended bycom.taursys.xml.ElementDelegate
All Implemented Interfaces:
DocumentComponent, Element, MapperComponent

public class ElementDelegate
extends DispatchingContainer
implements Element

ElementDelegate serves as a delegate for Elements by providing a full implementation of the Element interface.

Author:
marty

Constructor Summary
ElementDelegate(Element c)
          Constructs a new ElementDelegate for the given Element
 
Method Summary
 void addAttribute(Attribute attribute)
          Add the given Attribute to this Element.
 void addTextNode(TextNode t)
          Add the given TextNode to this Element.
 Attribute createAttribute(java.lang.String attributeName)
          Creates and binds an Attribute with the given name to this Element.
 Attribute createAttribute(java.lang.String attributeName, int dataType)
          Creates and binds an Attribute of the given type with the given name to this Element.
 Attribute createAttribute(java.lang.String attributeName, java.lang.String propertyName, ValueHolder holder)
          Creates and binds an Attribute with the given name to this Element.
 Attribute createBoundAttribute(java.lang.String attributeName, java.lang.String propertyName)
          Creates and binds an Attribute with the given name to this Element.
 TextNode createBoundTextNode(java.lang.String propertyName)
          Creates and binds a TextNode with the given name to this Element.
 TextNode createTextNode()
          Creates and binds a TextNode to this Element.
 TextNode createTextNode(int dataType)
          Creates and binds a TextNode of the given type to this Element.
 TextNode createTextNode(java.lang.String propertyName, ValueHolder holder)
          Creates and binds a TextNode with the given name to this Element.
 Attribute getAttribute(java.lang.String attributeName)
          Gets an Attribute by name or null if it does not exist
 java.lang.String getAttributeText(java.lang.String attributeName)
          Gets an Attribute's text value by name or null if it does not exist
 java.lang.Object getAttributeValue(java.lang.String attributeName)
          Gets an Attribute's Object value by name or null if it does not exist
 java.lang.String getId()
          Get the Id of the this container's parent return the Id of the this container's parent
 Container getParent()
          Returns the parent container of this component else null.
 TextNode getTextNode()
          Gets the TextNode or null if it does not exist
 java.lang.String getTextNodeText()
          Gets the TextNode's text value or null if it does not exist
 java.lang.Object getTextNodeValue()
          Gets the TextNode's Object value or null if it does not exist
 void removeAttribute(Attribute attribute)
          Removes the given Attribute from this Element and sets its parent to null.
 void removeAttribute(java.lang.String attributeName)
          Removes the Attribute with the given name from this Container if found.
 void removeTextNode()
          Removes the TextNode from this Container if exists.
 void removeTextNode(TextNode t)
          Removes the given TextNode from this Element and sets its parent to null.
 void setAttributeText(java.lang.String attributeName, java.lang.String value)
          Sets an Attribute's text value by name or does nothing if it does not exist.
 void setAttributeValue(java.lang.String attributeName, java.lang.Object value)
          Sets an Attribute's Object value by name or does nothing if it does not exist.
 void setId(java.lang.String newId)
          Un-implemented method - do not call - use parent's method instead.
 void setTextNodeText(java.lang.String value)
          Sets the TextNode's text value or does nothing if it does not exist.
 void setTextNodeValue(java.lang.Object value)
          Sets the TextNode's Object value or does nothing if it does not exist.
 void setValueHolder(ValueHolder valueHolder)
          Sets the given ValueHolder for this ElementDelegate and sets the ValueHolder of each of its bound Attributes and TextNodes.
 
Methods inherited from class com.taursys.xml.DispatchingContainer
add, createInputDispatcher, createParameterDispatcher, createRecycleDispatcher, createRenderDispatcher, createTriggerDispatcher, dispatchActions, dispatchInput, dispatchParameters, dispatchRecycle, dispatchRender, getParameterMap, processInputEvent, processParameterEvent, processRecycleEvent, processRenderEvent, processTriggerEvent, setParameterMap
 
Methods inherited from class com.taursys.xml.Container
addDispatcher, contains, get, getComponents, getDispatcher, getDispatchers, getDocumentAdapter, getInputDispatcher, getParameterDispatcher, getRecycleDispatcher, getRenderDispatcher, getTriggerDispatcher, remove, removeDispatcher, setComponents
 
Methods inherited from class com.taursys.xml.Component
addEventType, addInputListener, addNotify, addParameterListener, addRecycleListener, addRenderListener, addTriggerListener, dispatchEvent, fireActionPerformed, fireInputReceived, fireParameterReceived, fireRecycle, fireRender, getEventTypeList, isNotifySet, isVisible, lazyAddNotify, lazyRemoveNotify, processEvent, removeEventType, removeInputListener, removeNotify, removeParameterListener, removeRecycleListener, removeRenderListener, removeTriggerListener, setVisible, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ElementDelegate

public ElementDelegate(Element c)
Constructs a new ElementDelegate for the given Element

Method Detail

getParent

public Container getParent()
Returns the parent container of this component else null.

Overrides:
getParent in class Component

getId

public java.lang.String getId()
Get the Id of the this container's parent return the Id of the this container's parent

Specified by:
getId in interface DocumentComponent

setId

public void setId(java.lang.String newId)
Un-implemented method - do not call - use parent's method instead.

Specified by:
setId in interface DocumentComponent
Parameters:
newId - unused parameter

addAttribute

public void addAttribute(Attribute attribute)
Description copied from interface: Element
Add the given Attribute to this Element. No action is taken if the attribute already belongs to this Element. If the Attribute belongs to another Element as indicated by its parent, it is first removed from the old Element before it is added to this Element. Finally, it is added to this Element and its parent is set to this Element. The Attribute's addNotify method is also invoked so it will be notified of events it is interested in.

Specified by:
addAttribute in interface Element
Parameters:
attribute - the Attribute to add

removeAttribute

public void removeAttribute(java.lang.String attributeName)
Description copied from interface: Element
Removes the Attribute with the given name from this Container if found. It does NOT alter the properties of the Attribute in any way.

Specified by:
removeAttribute in interface Element
Parameters:
attributeName - to remove

removeAttribute

public void removeAttribute(Attribute attribute)
Description copied from interface: Element
Removes the given Attribute from this Element and sets its parent to null. Also invokes removeNotify on the given Attribute so it will un-register itself with any dispatchers.

Specified by:
removeAttribute in interface Element
Parameters:
attribute - the Attribute to remove

getAttribute

public Attribute getAttribute(java.lang.String attributeName)
Description copied from interface: Element
Gets an Attribute by name or null if it does not exist

Specified by:
getAttribute in interface Element
Parameters:
attributeName - the name of the Attribute
Returns:
an Attribute by name or null if it does not exist

getAttributeText

public java.lang.String getAttributeText(java.lang.String attributeName)
                                  throws ModelException
Description copied from interface: Element
Gets an Attribute's text value by name or null if it does not exist

Specified by:
getAttributeText in interface Element
Parameters:
attributeName - the name of the Attribute
Returns:
an Attribute's text value by name or null if it does not exist
Throws:
ModelException

setAttributeText

public void setAttributeText(java.lang.String attributeName,
                             java.lang.String value)
                      throws ModelException
Description copied from interface: Element
Sets an Attribute's text value by name or does nothing if it does not exist. Logs a warning if attribute does not exist.

Specified by:
setAttributeText in interface Element
Parameters:
attributeName - the name of the Attribute
value - the new String value for the Attribute
Throws:
ModelException

getAttributeValue

public java.lang.Object getAttributeValue(java.lang.String attributeName)
                                   throws ModelException
Description copied from interface: Element
Gets an Attribute's Object value by name or null if it does not exist

Specified by:
getAttributeValue in interface Element
Parameters:
attributeName -
Returns:
Throws:
ModelException

setAttributeValue

public void setAttributeValue(java.lang.String attributeName,
                              java.lang.Object value)
                       throws ModelException
Description copied from interface: Element
Sets an Attribute's Object value by name or does nothing if it does not exist. Logs a warning if attribute does not exist.

Specified by:
setAttributeValue in interface Element
Parameters:
attributeName -
value -
Throws:
ModelException

createAttribute

public Attribute createAttribute(java.lang.String attributeName)
Description copied from interface: Element
Creates and binds an Attribute with the given name to this Element. If the Attribute already exists, the existing one is returned.

Specified by:
createAttribute in interface Element
Parameters:
attributeName - name of the new Attribute
Returns:
the newly created and bound Attribute

createAttribute

public Attribute createAttribute(java.lang.String attributeName,
                                 int dataType)
Description copied from interface: Element
Creates and binds an Attribute of the given type with the given name to this Element. If the Attribute already exists, the existing one is returned.

Specified by:
createAttribute in interface Element
Parameters:
attributeName - name of the new Attribute
dataType - the data type for the new Attribute
Returns:
the newly created and bound Attribute
See Also:
DataTypes

createBoundAttribute

public Attribute createBoundAttribute(java.lang.String attributeName,
                                      java.lang.String propertyName)
Description copied from interface: Element
Creates and binds an Attribute with the given name to this Element. The Attribute is bound to this Element's valueHolder with the given propertyName. If the Attribute already exists, the propertyName is changed and the existing Attribute is returned.

Specified by:
createBoundAttribute in interface Element
Parameters:
attributeName - name of the new Attribute
propertyName - for the new Attribute
Returns:
the newly created and bound Attribute

createAttribute

public Attribute createAttribute(java.lang.String attributeName,
                                 java.lang.String propertyName,
                                 ValueHolder holder)
Description copied from interface: Element
Creates and binds an Attribute with the given name to this Element. The Attribute is bound to the given valueHolder with the given propertyName. If the Attribute already exists, the valueHolder and propertyName are changed and the existing Attribute is returned. The Attribute is also un-bound from this Element's valueHolder.

Specified by:
createAttribute in interface Element
Parameters:
attributeName - name of the new Attribute
propertyName - for the new Attribute
holder - ValueHolder for the new Attribute
Returns:
the newly created and bound Attribute

addTextNode

public void addTextNode(TextNode t)
Description copied from interface: Element
Add the given TextNode to this Element. No action is taken if a textNode already belongs to this Element. If the TextNode belongs to another Element as indicated by its parent, it is first removed from the old Element before it is added to this Element. Finally, it is added to this Element and its parent is set to this Element. The TextNode's addNotify method is also invoked so it will be notified of events it is interested in.

Specified by:
addTextNode in interface Element

removeTextNode

public void removeTextNode(TextNode t)
Description copied from interface: Element
Removes the given TextNode from this Element and sets its parent to null. Also invokes removeNotify on the given TextNode so it will un-register itself with any dispatchers.

Specified by:
removeTextNode in interface Element

removeTextNode

public void removeTextNode()
Description copied from interface: Element
Removes the TextNode from this Container if exists. It does NOT alter the properties of the TextNode in any way.

Specified by:
removeTextNode in interface Element

getTextNode

public TextNode getTextNode()
Description copied from interface: Element
Gets the TextNode or null if it does not exist

Specified by:
getTextNode in interface Element
Returns:
the TextNode or null if it does not exist

getTextNodeText

public java.lang.String getTextNodeText()
                                 throws ModelException
Description copied from interface: Element
Gets the TextNode's text value or null if it does not exist

Specified by:
getTextNodeText in interface Element
Returns:
the TextNode's text value or null if it does not exist
Throws:
ModelException

setTextNodeText

public void setTextNodeText(java.lang.String value)
                     throws ModelException
Description copied from interface: Element
Sets the TextNode's text value or does nothing if it does not exist.

Specified by:
setTextNodeText in interface Element
Parameters:
value - the new String value for the TextNode
Throws:
ModelException

getTextNodeValue

public java.lang.Object getTextNodeValue()
                                  throws ModelException
Description copied from interface: Element
Gets the TextNode's Object value or null if it does not exist

Specified by:
getTextNodeValue in interface Element
Returns:
the TextNode's Object value or null if it does not exist
Throws:
ModelException

setTextNodeValue

public void setTextNodeValue(java.lang.Object value)
                      throws ModelException
Description copied from interface: Element
Sets the TextNode's Object value or does nothing if it does not exist.

Specified by:
setTextNodeValue in interface Element
Parameters:
value - the new Object value for the TextNode
Throws:
ModelException

createTextNode

public TextNode createTextNode()
Description copied from interface: Element
Creates and binds a TextNode to this Element. If the TextNode already exists, the existing one is returned.

Specified by:
createTextNode in interface Element
Returns:
the newly created and bound TextNode

createTextNode

public TextNode createTextNode(int dataType)
Description copied from interface: Element
Creates and binds a TextNode of the given type to this Element. If the TextNode already exists, the existing one is returned.

Specified by:
createTextNode in interface Element
Parameters:
dataType - the data type for the new TextNode
Returns:
the newly created and bound TextNode
See Also:
DataTypes

createBoundTextNode

public TextNode createBoundTextNode(java.lang.String propertyName)
Description copied from interface: Element
Creates and binds a TextNode with the given name to this Element. The TextNode is bound to this Element's valueHolder with the given propertyName. If the TextNode already exists, the propertyName is changed and the existing TextNode is returned.

Specified by:
createBoundTextNode in interface Element
Parameters:
propertyName - for the new TextNode
Returns:
the newly created and bound TextNode

createTextNode

public TextNode createTextNode(java.lang.String propertyName,
                               ValueHolder holder)
Description copied from interface: Element
Creates and binds a TextNode with the given name to this Element. The TextNode is bound to the given valueHolder with the given propertyName. If the TextNode already exists, the valueHolder and propertyName are changed and the existing TextNode is returned. The TextNode is also un-bound from this Element's valueHolder.

Specified by:
createTextNode in interface Element
Parameters:
propertyName - for the new TextNode
holder - ValueHolder for the new TextNode
Returns:
the newly created and bound TextNode

setValueHolder

public void setValueHolder(ValueHolder valueHolder)
Sets the given ValueHolder for this ElementDelegate and sets the ValueHolder of each of its bound Attributes and TextNodes.



Copyright © 2007 Martin T Phelan. All Rights Reserved.