vdom.diffing
Class Dtree

java.lang.Object
  extended by vdom.DOMDocument
      extended by vdom.Vtree<Dnode>
          extended by vdom.diffing.Dtree

public class Dtree
extends Vtree<Dnode>

Author:
schirinz Estende la classe Vtree, istanziandola con il tipo opportuno, e aggiunge metodi e informazioni per la fase di diffing

Field Summary
 java.util.HashMap<java.lang.String,java.util.Vector<java.lang.Integer>> classes
           
 
Fields inherited from class vdom.Vtree
nodeList, numNode
 
Fields inherited from class vdom.DOMDocument
DOM, root
 
Constructor Summary
Dtree(java.lang.String fileXML, boolean ltrim, boolean rtrim, boolean collapse, boolean emptynode, boolean commentnode)
          Costruttore - Richiama il costruttore di Vtree che crea la struttura base, di seguito calcola nuovi attributi specifici per la fase di diff
 
Method Summary
 java.util.Vector<java.lang.Integer> getClass(java.lang.String key)
          Accesso alle classi - Ritorna un vettore che contiene gli indici dei sottoalberi presenti in una classe
 Dnode newNode(java.lang.Object ownerVtree, org.w3c.dom.Node refDomNode, java.lang.Integer indexKey, java.lang.Integer posFather, java.lang.Integer posLikeChild)
          Metodo astratto che viene implementato dalle classi che estendono Vtree, serve per istanziare corretamente il tipo di nodi del Vtree(Dnode,Rnode)
 void propagationIdFragment(int index, Fragment f)
          Espande le informazioni sui frammenti in modo bottom-up
 void removeIdFragment(int index, Fragment f)
          Rimuove un frammento in modo bottom-up
 
Methods inherited from class vdom.Vtree
count, getNode
 
Methods inherited from class vdom.DOMDocument
collapse, save, setDomImplementationDOML3, setDomImplementationJAXP, showDOMConfig, strongNodeNormalize, strongNormalize
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

classes

public java.util.HashMap<java.lang.String,java.util.Vector<java.lang.Integer>> classes
Constructor Detail

Dtree

public Dtree(java.lang.String fileXML,
             boolean ltrim,
             boolean rtrim,
             boolean collapse,
             boolean emptynode,
             boolean commentnode)
      throws InputFileException
Costruttore - Richiama il costruttore di Vtree che crea la struttura base, di seguito calcola nuovi attributi specifici per la fase di diff

Parameters:
fileXML - Percorso del file XML su cui si vuole istanziare il Dtree
ltrim - Se impostato a true elimina i whitespace a sinistra in tutti i nodi di testo
rtrim - Se impostato a true elimina i whitespace a destra in tutti i nodi di testo
collapse - Se impostato a true collassa i whitespace interni ai nodi di testo
emptynode - Se impostato a true non vengono considerati i nodi di testo contenenti sono whitespace durante la costruzione del Dtree
commentnode - Se impostato a true non vengono considerati i nodi commento durante la costruzione del Dtree
Throws:
InputFileException
Method Detail

getClass

public java.util.Vector<java.lang.Integer> getClass(java.lang.String key)
Accesso alle classi - Ritorna un vettore che contiene gli indici dei sottoalberi presenti in una classe

Parameters:
key - kiave della classe di cui si vogliono gli indici
Returns:
vettore che contiene gli indici degli elementi appartenenti alla classe key

newNode

public Dnode newNode(java.lang.Object ownerVtree,
                     org.w3c.dom.Node refDomNode,
                     java.lang.Integer indexKey,
                     java.lang.Integer posFather,
                     java.lang.Integer posLikeChild)
Description copied from class: Vtree
Metodo astratto che viene implementato dalle classi che estendono Vtree, serve per istanziare corretamente il tipo di nodi del Vtree(Dnode,Rnode)

Specified by:
newNode in class Vtree<Dnode>
Parameters:
ownerVtree - Tree a cui appartiene il nodo
refDomNode - Nodo Dom a cui si riferisce il nodo
indexKey - kiave di accesso per il nodo
posFather - kiave d accesso per il nodo padre
posLikeChild - posizione come figlio
Returns:
nuovo nodo del tipo opportuno

propagationIdFragment

public void propagationIdFragment(int index,
                                  Fragment f)
Espande le informazioni sui frammenti in modo bottom-up

Parameters:
index - Indice del nodo che rappresenta la radice del frammento
f - Frammento di cui espandere l'informazione

removeIdFragment

public void removeIdFragment(int index,
                             Fragment f)
Rimuove un frammento in modo bottom-up

Parameters:
index - Indice del nodo che rappresenta la radice del frammento
f - Frammento di cui espandere l'informazione