jpel.tree
Class NodeImpl

java.lang.Object
  |
  +--jpel.tree.NodeImpl
All Implemented Interfaces:
Node

public class NodeImpl
extends java.lang.Object
implements Node

Implementação padrão do nó. Um nó pode ser um folder de sub-nós ou ainda seus filhos representarem um caminho da raiz até o pai (veja getPath()).


Constructor Summary
NodeImpl()
           
NodeImpl(java.lang.Object value)
           
NodeImpl(java.lang.Object value, jpel.tree.Node parent)
           
 
Method Summary
 java.util.Iterator children()
          Retorna a enumeração dos nós da lista.
 void clear()
          Remove todos os sub-nós.
 boolean contains(jpel.tree.Node node)
          Indica se o nó dado existe.
 boolean equals(java.lang.Object obj)
           
 jpel.tree.Node first()
          Retorna o primeiro nó na lista da lista.
 jpel.tree.Node getParent()
          Retorna o pai do nó.
 jpel.tree.Node getPath()
          Retorna o caminho do nó até a raiz da árvore.
 jpel.tree.Node getRoot()
          Retorna o nó raiz relativo a este nó.
 java.lang.Object getValue()
          Retorna o objeto associado ao nó dado.
 int indexOf()
          O índice deste nó em relação à lista do seu pai.
 int indexOf(jpel.tree.Node node)
          Indica o positionamento de um dentro da lista.
 void insert(jpel.tree.Node node)
          Insere nós no final da lista.
 void insert(jpel.tree.Node node, int index)
          Insere nós em determinadas posições da lista.
 boolean isFolder()
          Indica se o nó está vazio ou não.
 boolean isLeaf()
          Indica se o nó está vazio ou não.
 boolean isRoot()
          Retorna indicação se o nó dado é raiz ou não.
 jpel.tree.Node last()
          Retorna o último nó na lista da lista.
 jpel.tree.Node mirror()
          Retorna uma cópia da estrutura do nó, como os mesmos dados agregados que o nó original.
 void moveDown()
          No pai, move/desloca este nó para baixo em sua lista de sub-nós.
 void moveUp()
          No pai, move/desloca este nó para cima em sua lista de sub-nós.
 jpel.tree.Node nodeAt(int index)
          Retorna o Nó cujo indice foi dado.
 void promote()
          Promove um nó para um nível acima de onde ele está.
 void remove()
          Remove o nó do seu respectivo pai.
 void remove(int index)
          Remove um nó da lista.
 void remove(jpel.tree.Node node)
          Remove um nó da lista.
 void setParent(jpel.tree.Node parent)
          Ajusta o pai do nó.
 void setValue(java.lang.Object value)
          Ajusta o dado associado ao nó.
 int size()
          Retorna o número de itens no folder.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

NodeImpl

public NodeImpl()
         throws NodeException

NodeImpl

public NodeImpl(java.lang.Object value)
         throws NodeException

NodeImpl

public NodeImpl(java.lang.Object value,
                jpel.tree.Node parent)
         throws NodeException
Method Detail

getValue

public java.lang.Object getValue()
Description copied from interface: Node
Retorna o objeto associado ao nó dado.

Specified by:
getValue in interface Node
Returns:
O objeto associdado.

setValue

public void setValue(java.lang.Object value)
              throws NodeException
Description copied from interface: Node
Ajusta o dado associado ao nó.

Specified by:
setValue in interface Node
Parameters:
value - O dado do nó.
Throws:
NodeException - Quando não é possível ajustar o dado.

getParent

public jpel.tree.Node getParent()
Description copied from interface: Node
Retorna o pai do nó.

Specified by:
getParent in interface Node
Returns:
Um objeto do tipo Node imediatamente acima deste, ou null, caso o nó não tenha pai.

setParent

public void setParent(jpel.tree.Node parent)
               throws NodeException
Description copied from interface: Node
Ajusta o pai do nó.

Specified by:
setParent in interface Node
Parameters:
parent - Novo pai do nó.
Throws:
NodeException - Quando não é possível ajustar o pai.

getRoot

public jpel.tree.Node getRoot()
Description copied from interface: Node
Retorna o nó raiz relativo a este nó.

Specified by:
getRoot in interface Node
Returns:
O próprio nó, quando ele é a raiz, ou o nó mais alta na hierarquia ao qual este nó pertence.

isRoot

public boolean isRoot()
Description copied from interface: Node
Retorna indicação se o nó dado é raiz ou não. Um nó é considerado raiz se o seu pai é nulo.

Specified by:
isRoot in interface Node
Returns:
true, se o nó é raiz, false, caso contrário.

isFolder

public boolean isFolder()
Description copied from interface: Node
Indica se o nó está vazio ou não. Basicamente é uma abreviação para a pergunta: size() != 0 ?

Specified by:
isFolder in interface Node
Returns:
true Caso haja sub nós, else, caso tenha.

isLeaf

public boolean isLeaf()
Description copied from interface: Node
Indica se o nó está vazio ou não. Basicamente é uma abreviação para a pergunta: size() == 0 ?

Specified by:
isLeaf in interface Node
Returns:
true Caso não haja sub nós, false, caso tenha.

getPath

public jpel.tree.Node getPath()
Description copied from interface: Node
Retorna o caminho do nó até a raiz da árvore. O primeiro nó da lista é a raiz e o último nó é o próprio nó. Para acessar o caminho é só utilizar os índices.

Specified by:
getPath in interface Node
Returns:
O caminho para acessar o nó através da raiz. Se o nó chamado for raiz, o caminho retornado é vazio.

clear

public void clear()
Description copied from interface: Node
Remove todos os sub-nós.

Specified by:
clear in interface Node

insert

public void insert(jpel.tree.Node node)
            throws InsertNodeException
Description copied from interface: Node
Insere nós no final da lista.

Specified by:
insert in interface Node
Parameters:
node - O nó a ser inserido.
Throws:
InsertNodeException - Caso haja problemas com a inserção.

insert

public void insert(jpel.tree.Node node,
                   int index)
            throws InsertNodeException
Description copied from interface: Node
Insere nós em determinadas posições da lista.

Specified by:
insert in interface Node
Parameters:
node - O nó a ser inserido.
index - Posição onde deve ser inserido o nó.
Throws:
InsertNodeException - Caso haja problemas com a inserção.

remove

public void remove()
            throws RemoveNodeException
Description copied from interface: Node
Remove o nó do seu respectivo pai. Caso o nó seja uma raiz, nada será feito.

Specified by:
remove in interface Node
Throws:
RemoveNodeException - Quando não é possível remover o nó.

remove

public void remove(int index)
            throws RemoveNodeException
Description copied from interface: Node
Remove um nó da lista.

Specified by:
remove in interface Node
Parameters:
index - O índice do nó a ser removido.
Throws:
RemoveNodeException - Caso haja problemas com a remoção.

remove

public void remove(jpel.tree.Node node)
            throws RemoveNodeException
Description copied from interface: Node
Remove um nó da lista.

Specified by:
remove in interface Node
Parameters:
node - O nó a ser removido.
Throws:
RemoveNodeException - Caso haja problemas com a remoção.

moveUp

public void moveUp()
            throws MoveNodeException
Description copied from interface: Node
No pai, move/desloca este nó para cima em sua lista de sub-nós.

Specified by:
moveUp in interface Node
Throws:
MoveNodeException - Quando há problemas para mover.

moveDown

public void moveDown()
              throws MoveNodeException
Description copied from interface: Node
No pai, move/desloca este nó para baixo em sua lista de sub-nós.

Specified by:
moveDown in interface Node
Throws:
MoveNodeException - Quando há problemas para mover.

promote

public void promote()
             throws MoveNodeException
Description copied from interface: Node
Promove um nó para um nível acima de onde ele está. Caso o nó já esteja sob a raiz nada acontece.

Specified by:
promote in interface Node
Throws:
MoveNodeException - Quando não é possível promover o nó.

contains

public boolean contains(jpel.tree.Node node)
Description copied from interface: Node
Indica se o nó dado existe.

Specified by:
contains in interface Node
Parameters:
node - Nó a ser procurado.
Returns:
true, se o nó existe como filho do nó corrente, false, caso contrário.

indexOf

public int indexOf()
            throws SelectionNodeException
Description copied from interface: Node
O índice deste nó em relação à lista do seu pai.

Specified by:
indexOf in interface Node
Returns:
Um inteiro entre 0 e o número de sub-nós do pai, caso ele exista.
Throws:
SelectionNodeException - Quando o nó não tem pai.

indexOf

public int indexOf(jpel.tree.Node node)
            throws SelectionNodeException
Description copied from interface: Node
Indica o positionamento de um dentro da lista.

Specified by:
indexOf in interface Node
Parameters:
node - O nó do qual se deseja obter o índice.
Returns:
Um inteiro no intervalo de 0 a size(), que indica onde está o nó.
Throws:
SelectionNodeException - Quando o elemento não está presente na lista.

first

public jpel.tree.Node first()
                     throws SelectionNodeException
Description copied from interface: Node
Retorna o primeiro nó na lista da lista.

Specified by:
first in interface Node
Returns:
O primeiro nó da lista.
Throws:
SelectionNodeException - Caso não seja possível selecionar tal nó.

last

public jpel.tree.Node last()
                    throws SelectionNodeException
Description copied from interface: Node
Retorna o último nó na lista da lista.

Specified by:
last in interface Node
Returns:
O último nó da lista.
Throws:
SelectionNodeException - Caso não seja possível selecionar tal nó.

nodeAt

public jpel.tree.Node nodeAt(int index)
                      throws SelectionNodeException
Description copied from interface: Node
Retorna o Nó cujo indice foi dado.

Specified by:
nodeAt in interface Node
Parameters:
index - Índice do nó que se deseja selecionar. Este valor deve variar entre 0 e size(), caso o valor represente um índice inválido a execeção é lançada.
Returns:
O nó cujo índice foi dado.
Throws:
SelectionNodeException - Caso não seja possível selecionar tal nó.

children

public java.util.Iterator children()
Description copied from interface: Node
Retorna a enumeração dos nós da lista.

Specified by:
children in interface Node
Returns:
Um iterator sobre os nós da lista.

size

public int size()
Description copied from interface: Node
Retorna o número de itens no folder.

Specified by:
size in interface Node
Returns:
O número de nós.

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object

mirror

public jpel.tree.Node mirror()
                      throws NodeException
Description copied from interface: Node
Retorna uma cópia da estrutura do nó, como os mesmos dados agregados que o nó original. Mundanças na estrutura "copiada" não se refletem no nó original, mas mudanças nso objetos "pendurados" sim.

Specified by:
mirror in interface Node
Returns:
Uma cópia com a estrutura do nó dado.
Throws:
NodeException - Quando não é possível fazer a cópia.