sk.uniba.euromath.gene.changetracker
Class DOMChangeCollector

java.lang.Object
  extended by sk.uniba.euromath.gene.changetracker.DOMChangeCollector
All Implemented Interfaces:
ChangeCollector

public final class DOMChangeCollector
extends Object
implements ChangeCollector

Collects changes to DOM document.

Author:
Martin Vysny

Constructor Summary
DOMChangeCollector()
           
 
Method Summary
 void clearChanges()
          Clears the change tracer.
 List<? extends Node> getModifiedNodes()
          Returns unmodifiable list of modified nodes.
 DOMSource getSource()
           Returns a source that contains whole document.
 void init(Source source)
           Initializes the collector with given source.
 boolean isChanged()
          Checks if this collector has captured at least one change.
 boolean isCompletelyChanged()
           Checks if the source object has changed completely since last call to ChangeCollector.clearChanges().
 void nodeAdded(Node node)
          Informs the collector that the node has been added.
 void nodeDelete(Node node)
          Informs the collector that the node is about to be deleted.
 void nodeModified(Node node)
          Informs the collector that the node has been modified (this applies only to non-element nodes when changing their textual value).
 void reinit(Source source)
           Reinitializes the collector.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DOMChangeCollector

public DOMChangeCollector()
Method Detail

init

public void init(Source source)
Description copied from interface: ChangeCollector

Initializes the collector with given source. Implementors must act as if whole document was changed. Implementor should clone the source object if it intends to keep it.

Must be called exactly once as the first method.

Specified by:
init in interface ChangeCollector
Parameters:
source - the source to reinit.

getSource

public DOMSource getSource()
Description copied from interface: ChangeCollector

Returns a source that contains whole document.

Specified by:
getSource in interface ChangeCollector
Returns:
source containing the document.

clearChanges

public void clearChanges()
Description copied from interface: ChangeCollector
Clears the change tracer.

Specified by:
clearChanges in interface ChangeCollector

isChanged

public boolean isChanged()
Description copied from interface: ChangeCollector
Checks if this collector has captured at least one change.

Specified by:
isChanged in interface ChangeCollector
Returns:
true if some changes occured, false otherwise.

isCompletelyChanged

public boolean isCompletelyChanged()
Description copied from interface: ChangeCollector

Checks if the source object has changed completely since last call to ChangeCollector.clearChanges().

Specified by:
isCompletelyChanged in interface ChangeCollector
Returns:
true if the source changed as a whole, false if it changed only partially or no change occured at all.

reinit

public void reinit(Source source)
Description copied from interface: ChangeCollector

Reinitializes the collector. The collector may act as if whole source was changed, or it may compare new source to previous source and reinitialize the list of changes.

May be called multiple times.

Specified by:
reinit in interface ChangeCollector

nodeAdded

public void nodeAdded(Node node)
Informs the collector that the node has been added.

Parameters:
node - the node added to the splitted document.

nodeDelete

public void nodeDelete(Node node)
Informs the collector that the node is about to be deleted.

Parameters:
node - the node being deleted. It must be present in the splitted document.

nodeModified

public void nodeModified(Node node)
Informs the collector that the node has been modified (this applies only to non-element nodes when changing their textual value).

Parameters:
node - the node from the splitted document, that was modified.

getModifiedNodes

public List<? extends Node> getModifiedNodes()
Returns unmodifiable list of modified nodes. This list contains nodes that were changed (inserted, deleted or modified). In case of elements, it should be taken that all descendant nodes have changed aswell. Therefore, no node from this list is descendant of another node from the list.

Returns:
list of nodes that were reported as modified.


Copyright 2003-2003-2006 null. All Rights Reserved.