jpel.tree
Interface Node

All Known Implementing Classes:
NodeImpl

public interface Node

Representa um nó de uma árvore n-ária.


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.
 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.
 

Method Detail

getValue

public java.lang.Object getValue()
Retorna o objeto associado ao nó dado.

Returns:
O objeto associdado.

setValue

public void setValue(java.lang.Object value)
              throws NodeException
Ajusta o dado associado ao nó.

Parameters:
value - O dado do nó.
Throws:
NodeException - Quando não é possível ajustar o dado.

getParent

public jpel.tree.Node getParent()
Retorna o pai do nó.

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
Ajusta o pai do nó.

Parameters:
parent - Novo pai do nó.
Throws:
NodeException - Quando não é possível ajustar o pai.

getRoot

public jpel.tree.Node getRoot()
Retorna o nó raiz relativo a este nó.

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()
Retorna indicação se o nó dado é raiz ou não. Um nó é considerado raiz se o seu pai é nulo.

Returns:
true, se o nó é raiz, false, caso contrário.

isFolder

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

Returns:
true Caso haja sub nós, else, caso tenha.

isLeaf

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

Returns:
true Caso não haja sub nós, false, caso tenha.

getPath

public jpel.tree.Node getPath()
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.

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()
Remove todos os sub-nós.


insert

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

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
Insere nós em determinadas posições da lista.

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
Remove o nó do seu respectivo pai. Caso o nó seja uma raiz, nada será feito.

Throws:
RemoveNodeException - Quando não é possível remover o nó.

remove

public void remove(int index)
            throws RemoveNodeException
Remove um nó da lista.

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
Remove um nó da lista.

Parameters:
node - O nó a ser removido.
Throws:
RemoveNodeException - Caso haja problemas com a remoção.

moveUp

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

Throws:
MoveNodeException - Quando há problemas para mover.

moveDown

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

Throws:
MoveNodeException - Quando há problemas para mover.

promote

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

Throws:
MoveNodeException - Quando não é possível promover o nó.

contains

public boolean contains(jpel.tree.Node node)
Indica se o nó dado existe.

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
O índice deste nó em relação à lista do seu pai.

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
Indica o positionamento de um dentro da lista.

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
Retorna o primeiro nó na lista da lista.

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
Retorna o último nó na lista da lista.

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
Retorna o Nó cujo indice foi dado.

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()
Retorna a enumeração dos nós da lista.

Returns:
Um iterator sobre os nós da lista.

size

public int size()
Retorna o número de itens no folder.

Returns:
O número de nós.

mirror

public jpel.tree.Node mirror()
                      throws NodeException
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.

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