org.apache.pivot.wtk.text
Class Element

java.lang.Object
  extended by org.apache.pivot.wtk.text.Node
      extended by org.apache.pivot.wtk.text.Element
All Implemented Interfaces:
Iterable<Node>, Sequence<Node>
Direct Known Subclasses:
Block, List, List.Item, Span

public abstract class Element
extends Node
implements Sequence<Node>, Iterable<Node>

Abstract base class for elements.

TODO Add style properties.

TODO Add style class property.


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.apache.pivot.collections.Sequence
Sequence.Tree
 
Constructor Summary
Element()
           
Element(Element element, boolean recursive)
           
 
Method Summary
 int add(Node node)
          Adds an item to the sequence.
 void dumpOffsets()
           
 Node get(int index)
          Retrieves the item at the given index.
 int getCharacterCount()
          Returns the number of characters in this node.
 Node getDescendantAt(int offset)
          Determines the descendant node at a given offset.
 ListenerList<ElementListener> getElementListeners()
           
 int getIndexAt(int offset)
          Determines the index of the child node at a given offset.
 int getLength()
          Returns the length of the sequence.
 Node getNodeAt(int offset)
          Determines the child node at a given offset.
 Sequence<Integer> getPathAt(int offset)
          Determines the path of the descendant node at a given offset.
 Node getRange(int offset, int characterCount)
          Returns a range from the node.
 int indexOf(Node node)
          Returns the index of an item in the sequence.
 void insert(Node node, int index)
          Inserts an item into the sequence at a specific index.
 void insertRange(Node range, int offset)
          Inserts a range into the node.
 Iterator<Node> iterator()
           
protected  void rangeInserted(int offset, int characterCount)
          Called to notify a node that a range has been inserted.
protected  void rangeRemoved(int offset, int characterCount)
          Called to notify a node that a range has been removed.
 Sequence<Node> remove(int index, int count)
          Removes one or more items from the sequence.
 int remove(Node node)
          Removes the first occurrence of the given item from the sequence.
 Node removeRange(int offset, int characterCount)
          Removes a range from the node.
 Node update(int index, Node node)
          Updates the item at the given index.
 
Methods inherited from class org.apache.pivot.wtk.text.Node
duplicate, getDocumentOffset, getNodeListeners, getOffset, getParent, replaceRange, setOffset, setParent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Element

public Element()

Element

public Element(Element element,
               boolean recursive)
Method Detail

insertRange

public void insertRange(Node range,
                        int offset)
Description copied from class: Node
Inserts a range into the node. Note that the contents of the range, rather than the range itself, is added to the node.

Specified by:
insertRange in class Node

removeRange

public Node removeRange(int offset,
                        int characterCount)
Description copied from class: Node
Removes a range from the node.

Specified by:
removeRange in class Node
Returns:
The removed range. This will be a copy of the node structure relative to this node.

getRange

public Node getRange(int offset,
                     int characterCount)
Description copied from class: Node
Returns a range from the node.

Specified by:
getRange in class Node
Returns:
A node containing a copy of the node structure spanning the given range, relative to this node.

getCharacterCount

public int getCharacterCount()
Description copied from class: Node
Returns the number of characters in this node.

Specified by:
getCharacterCount in class Node

add

public int add(Node node)
Description copied from interface: Sequence
Adds an item to the sequence.

Specified by:
add in interface Sequence<Node>
Parameters:
node - The item to be added to the sequence.
Returns:
The index at which the item was added, or -1 if the item was not added to the sequence.

insert

public void insert(Node node,
                   int index)
Description copied from interface: Sequence
Inserts an item into the sequence at a specific index.

Specified by:
insert in interface Sequence<Node>
Parameters:
node - The item to be added to the sequence.
index - The index at which the item should be inserted. Must be a value between 0 and getLength().

update

public Node update(int index,
                   Node node)
Description copied from interface: Sequence
Updates the item at the given index.

Specified by:
update in interface Sequence<Node>
Parameters:
index - The index of the item to update.
node - The item that will replace any existing value at the given index.
Returns:
The item that was previously stored at the given index.

remove

public int remove(Node node)
Description copied from interface: Sequence
Removes the first occurrence of the given item from the sequence.

Specified by:
remove in interface Sequence<Node>
Parameters:
node - The item to remove.
Returns:
The index of the item that was removed, or -1 if the item could not be found.
See Also:
Sequence.remove(int, int)

remove

public Sequence<Node> remove(int index,
                             int count)
Description copied from interface: Sequence
Removes one or more items from the sequence.

Specified by:
remove in interface Sequence<Node>
Parameters:
index - The starting index to remove.
count - The number of items to remove, beginning with index.
Returns:
A sequence containing the items that were removed.

get

public Node get(int index)
Description copied from interface: Sequence
Retrieves the item at the given index.

Specified by:
get in interface Sequence<Node>
Parameters:
index - The index of the item to retrieve.

indexOf

public int indexOf(Node node)
Description copied from interface: Sequence
Returns the index of an item in the sequence.

Specified by:
indexOf in interface Sequence<Node>
Parameters:
node - The item to locate.
Returns:
The index of first occurrence of the item if it exists in the sequence; -1, otherwise.

getLength

public int getLength()
Description copied from interface: Sequence
Returns the length of the sequence.

Specified by:
getLength in interface Sequence<Node>
Returns:
The number of items in the sequence.

getIndexAt

public int getIndexAt(int offset)
Determines the index of the child node at a given offset.

Parameters:
offset -
Returns:
The index of the child node at the given offset.

getPathAt

public Sequence<Integer> getPathAt(int offset)
Determines the path of the descendant node at a given offset.

Parameters:
offset -
Returns:
The path to the descendant node at the given offset.

getNodeAt

public Node getNodeAt(int offset)
Determines the child node at a given offset.

Parameters:
offset -
Returns:
The child node at the given offset.

getDescendantAt

public Node getDescendantAt(int offset)
Determines the descendant node at a given offset.

Parameters:
offset -
Returns:
The descendant node at the given offset.

rangeInserted

protected void rangeInserted(int offset,
                             int characterCount)
Description copied from class: Node
Called to notify a node that a range has been inserted.

Overrides:
rangeInserted in class Node

rangeRemoved

protected void rangeRemoved(int offset,
                            int characterCount)
Description copied from class: Node
Called to notify a node that a range has been removed.

Overrides:
rangeRemoved in class Node

iterator

public Iterator<Node> iterator()
Specified by:
iterator in interface Iterable<Node>

dumpOffsets

public void dumpOffsets()

getElementListeners

public ListenerList<ElementListener> getElementListeners()