vdom.reconstruction
Class Rtree

java.lang.Object
  extended by vdom.DOMDocument
      extended by vdom.Vtree<Rnode>
          extended by vdom.reconstruction.Rtree

public class Rtree
extends Vtree<Rnode>

Author:
Mike Estende il DOM per inserire proprietà e metodi che facilitano l'elaborazione del documento.

Field Summary
 java.util.Vector<java.lang.Integer> editingNode
           
static java.lang.String NDIFF_PREFIX
           
 
Fields inherited from class vdom.Vtree
nodeList, numNode
 
Fields inherited from class vdom.DOMDocument
DOM, root
 
Constructor Summary
Rtree(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 recostruction
 
Method Summary
 void ADD(java.lang.Integer nn, java.lang.Integer at, java.lang.Integer pos, java.lang.Integer children, org.w3c.dom.Node content)
          Inserimento di un singolo nodo
 void ATTCHANGE(java.lang.Integer nn, java.lang.String name, java.lang.String newValue)
          Cambia il valore di un'attributo del nodo dell'albero
 void ATTINSERT(java.lang.Integer nn, java.lang.String name, java.lang.String value)
          Inserisce un'attributo in un nodo dell'albero
 void ATTREMOVE(java.lang.Integer nn, java.lang.String name)
          Rimuove un'attributo in un nodo dell'albero
 void closeEditing()
          Chiude i nodi che sono in fase di editazione
 void DEL(java.lang.Integer nn, java.lang.Integer pos, java.lang.Integer length)
          Elimina una parte del testo di un nodo di testo
 void DELETE(java.lang.Integer nn, java.lang.Integer nodecount, java.lang.String move)
          Rimuove un sottoalbero
 void EXTRACT(java.lang.Integer nn)
          Cancella il nodo con kiave secificata
 void INS(java.lang.Integer nn, java.lang.Integer pos, java.lang.Integer length, org.w3c.dom.Node content)
          Inserimento di una sottostringa all'interno di un nodo di testo
 void INSERT(java.lang.Integer nn, java.lang.Integer at, java.lang.Integer pos, java.lang.Integer nodeCount, org.w3c.dom.Node content, java.lang.String move)
          Inserimento di un sottoalbero
 boolean isMarkup(org.w3c.dom.Node node)
          Controlla se un nodo è di markup
 boolean isMarkupHowDelete(org.w3c.dom.Node node)
          Controlla se un nodo è markato come rimosso.
 Rnode 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)
 
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

NDIFF_PREFIX

public static final java.lang.String NDIFF_PREFIX
See Also:
Constant Field Values

editingNode

public java.util.Vector<java.lang.Integer> editingNode
Constructor Detail

Rtree

public Rtree(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 recostruction

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

newNode

public Rnode 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<Rnode>
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

isMarkupHowDelete

public boolean isMarkupHowDelete(org.w3c.dom.Node node)
Controlla se un nodo è markato come rimosso. I nodi sono considerati markati come cancellati se: - Nodi che hanno l'attributo ndiff:status="deleted" - Nodi che hanno l'attributo ndiff:status="movedTo" - Nodi che hanno il nome w e l'attributo ndiff:status="deleted" - Nodi che hanno il nome w e l'attributo ndiff:status="movedTo"

Parameters:
node - nodo da controllare
Returns:
true se il nodo è markato come cancellato

isMarkup

public boolean isMarkup(org.w3c.dom.Node node)
Controlla se un nodo è di markup

Parameters:
node - Nodo da controllare
Returns:
Ritorna true se il nodo ha del markup relativo ai cambiamenti

ADD

public void ADD(java.lang.Integer nn,
                java.lang.Integer at,
                java.lang.Integer pos,
                java.lang.Integer children,
                org.w3c.dom.Node content)
Inserimento di un singolo nodo

Parameters:
nn - Chiave del nodo da inserire
at - Chiave del nodo padre a cui attaccare il nodo
pos - Posizione del nodo come figlio
children - Numero di figli da adottare
content - Nodo da inserire

INSERT

public void INSERT(java.lang.Integer nn,
                   java.lang.Integer at,
                   java.lang.Integer pos,
                   java.lang.Integer nodeCount,
                   org.w3c.dom.Node content,
                   java.lang.String move)
Inserimento di un sottoalbero

Parameters:
nn - Kiave della radice del sottoalbero da inserire
at - Kiave del nodo padre a cui attaccare il sottoalbero
pos - Posizione del nodo come figlio
nodeCount - Numero di nodi contenuti nel sottoalbero da inserire
content - Sottoalbero da inserire - riferimento al Node radice
move - indica se l'inserimento e da markare come uno spostamento

EXTRACT

public void EXTRACT(java.lang.Integer nn)
Cancella il nodo con kiave secificata

Parameters:
nn - Kiave del nodo da rimuovere. I figli del nodo verranno attaccati al padre del nodo stesso

DELETE

public void DELETE(java.lang.Integer nn,
                   java.lang.Integer nodecount,
                   java.lang.String move)
Rimuove un sottoalbero

Parameters:
nn - Kiave della radice del sottoalbero da rimuovere
nodecount - Numero di nodi appartenenti al sottoalbero da rimuovere
move - indica se la cancellazione e da markare come uno spostamento

closeEditing

public void closeEditing()
Chiude i nodi che sono in fase di editazione


INS

public void INS(java.lang.Integer nn,
                java.lang.Integer pos,
                java.lang.Integer length,
                org.w3c.dom.Node content)
Inserimento di una sottostringa all'interno di un nodo di testo

Parameters:
nn - Indice del nodo in cui inserire il testo
pos - offset del nodo da cui iniziare l'inserimento
length - lunghezza del testo inserito
content - Testo da inserire

DEL

public void DEL(java.lang.Integer nn,
                java.lang.Integer pos,
                java.lang.Integer length)
Elimina una parte del testo di un nodo di testo

Parameters:
nn - Indice del nodo d testo da modificare
pos - Offset iniziale da cui iniziare la cancellazione
length - Lunghezza del testo da cancellare

ATTINSERT

public void ATTINSERT(java.lang.Integer nn,
                      java.lang.String name,
                      java.lang.String value)
Inserisce un'attributo in un nodo dell'albero

Parameters:
nn - Indice del nodo in cui inserire l'attributo
name - Nome dell'attributo da inserire
value - Valore dell'attributo da inserire

ATTREMOVE

public void ATTREMOVE(java.lang.Integer nn,
                      java.lang.String name)
Rimuove un'attributo in un nodo dell'albero

Parameters:
nn - Indice del nodo in cui rimuovere l'attributo
name - Nome dell'attributo da rimuovere

ATTCHANGE

public void ATTCHANGE(java.lang.Integer nn,
                      java.lang.String name,
                      java.lang.String newValue)
Cambia il valore di un'attributo del nodo dell'albero

Parameters:
nn - Indice del nodo in cui rimuovere l'attributo
name - Nome dell'attributo a cui cambiare il valore
newValue - Nuovo valore per l'attributo