net.sourceforge.jeuclid.dom
Class AbstractChangeTrackingElement

java.lang.Object
  extended by net.sourceforge.jeuclid.dom.AbstractPartialNodeImpl
      extended by net.sourceforge.jeuclid.dom.AbstractPartialElementImpl
          extended by net.sourceforge.jeuclid.dom.AbstractChangeTrackingElement
All Implemented Interfaces:
ChangeTrackingInterface, Element, Node
Direct Known Subclasses:
AbstractJEuclidElement

public abstract class AbstractChangeTrackingElement
extends AbstractPartialElementImpl
implements ChangeTrackingInterface

generic implementation of Element that tries to track if a change has happened.

Version:
$Revision: 310 $
Author:
Max Berger

Nested Class Summary
 
Nested classes/interfaces inherited from class net.sourceforge.jeuclid.dom.AbstractPartialElementImpl
AbstractPartialElementImpl.AttributeNodeMap, AbstractPartialElementImpl.AttrImpl
 
Nested classes/interfaces inherited from class net.sourceforge.jeuclid.dom.AbstractPartialNodeImpl
AbstractPartialNodeImpl.NodeList
 
Field Summary
 
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
Constructor Summary
AbstractChangeTrackingElement()
           
 
Method Summary
 void addListener(ChangeTrackingInterface listener)
          Adds a change listener to this element.
 Node appendChild(Node newChild)
          
protected  void changeHook()
          Called on any change.
 void fireChanged(boolean propagate)
          Called when the element has changed.
 void fireChangeForSubTree()
          fires a change on this element and all its children, but no listeners and parents.
 Node replaceChild(Node newChild, Node oldChild)
          
 void setAttribute(String name, String value)
          
 void setTextContent(String newTextContent)
          
 
Methods inherited from class net.sourceforge.jeuclid.dom.AbstractPartialElementImpl
getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getElementsByTagName, getElementsByTagNameNS, getLocalName, getNodeName, getNodeType, getSchemaTypeInfo, hasAttribute, hasAttributeNS, removeAttribute, removeAttributeNode, removeAttributeNS, setAttributeNode, setAttributeNodeNS, setAttributeNS, setIdAttribute, setIdAttributeNode, setIdAttributeNS, toString
 
Methods inherited from class net.sourceforge.jeuclid.dom.AbstractPartialNodeImpl
cloneNode, compareDocumentPosition, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getNamespaceURI, getNextSibling, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, setNodeValue, setPrefix, setUserData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.w3c.dom.Element
getTagName
 
Methods inherited from interface org.w3c.dom.Node
cloneNode, compareDocumentPosition, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getNamespaceURI, getNextSibling, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, setNodeValue, setPrefix, setUserData
 

Constructor Detail

AbstractChangeTrackingElement

public AbstractChangeTrackingElement()
Method Detail

appendChild

public final Node appendChild(Node newChild)

Specified by:
appendChild in interface Node
Overrides:
appendChild in class AbstractPartialNodeImpl

setAttribute

public final void setAttribute(String name,
                               String value)

Specified by:
setAttribute in interface Element
Overrides:
setAttribute in class AbstractPartialElementImpl

setTextContent

public final void setTextContent(String newTextContent)

Specified by:
setTextContent in interface Node
Overrides:
setTextContent in class AbstractPartialNodeImpl

replaceChild

public final Node replaceChild(Node newChild,
                               Node oldChild)

Specified by:
replaceChild in interface Node
Overrides:
replaceChild in class AbstractPartialNodeImpl

fireChanged

public void fireChanged(boolean propagate)
Called when the element has changed.

Specified by:
fireChanged in interface ChangeTrackingInterface
Parameters:
propagate - if set to true, change is also fired on parent and registered listeners.

fireChangeForSubTree

public void fireChangeForSubTree()
fires a change on this element and all its children, but no listeners and parents.

Specified by:
fireChangeForSubTree in interface ChangeTrackingInterface

changeHook

protected void changeHook()
Called on any change. Please override!


addListener

public void addListener(ChangeTrackingInterface listener)
Adds a change listener to this element.

Specified by:
addListener in interface ChangeTrackingInterface
Parameters:
listener - the element to be notified in case of changes (if propagate is set).


Copyright © 2002-2008 The JEuclid project. All Rights Reserved.