org.apache.xerces.dom
Class RangeImpl
java.lang.Object
|
+--org.apache.xerces.dom.RangeImpl
- public class RangeImpl
- extends java.lang.Object
- implements org.w3c.dom.ranges.Range
The RangeImpl class implements the org.w3c.dom.range.Range interface.
Please see the API documentation for the interface classes
and use the interfaces in your client programs.
Fields inherited from interface org.w3c.dom.ranges.Range |
END_TO_END,
END_TO_START,
START_TO_END,
START_TO_START |
Method Summary |
org.w3c.dom.DocumentFragment |
cloneContents()
Duplicates the contents of a Range |
org.w3c.dom.ranges.Range |
cloneRange()
Produces a new Range whose boundary-points are equal to the
boundary-points of the Range. |
void |
collapse(boolean toStart)
Collapse a Range onto one of its boundary-points |
short |
compareBoundaryPoints(short how,
org.w3c.dom.ranges.Range sourceRange)
Compare the boundary-points of two Ranges in a document. |
void |
deleteContents()
Removes the contents of a Range from the containing document or
document fragment without returning a reference to the removed
content. |
void |
detach()
Called to indicate that the Range is no longer in use and that the
implementation may relinquish any resources associated with this
Range. |
org.w3c.dom.DocumentFragment |
extractContents()
Moves the contents of a Range from the containing document or document
fragment to a new DocumentFragment. |
boolean |
getCollapsed()
TRUE if the Range is collapsed |
org.w3c.dom.Node |
getCommonAncestorContainer()
The deepest common ancestor container of the Range's two
boundary-points. |
org.w3c.dom.Node |
getEndContainer()
Node within which the Range ends |
int |
getEndOffset()
Offset within the ending node of the Range. |
org.w3c.dom.Node |
getStartContainer()
Node within which the Range begins |
int |
getStartOffset()
Offset within the starting node of the Range. |
void |
insertedNodeFromDOM(org.w3c.dom.Node node)
This function is called from the DOM. |
void |
insertNode(org.w3c.dom.Node newNode)
Inserts a node into the Document or DocumentFragment at the start of
the Range. |
void |
selectNode(org.w3c.dom.Node refNode)
Select a node and its contents |
void |
selectNodeContents(org.w3c.dom.Node refNode)
Select the contents within a node |
void |
setEnd(org.w3c.dom.Node refNode,
int offset)
Sets the attributes describing the end of a Range. |
void |
setEndAfter(org.w3c.dom.Node refNode)
Sets the end of a Range to be after a node |
void |
setEndBefore(org.w3c.dom.Node refNode)
Sets the end position to be before a node. |
void |
setStart(org.w3c.dom.Node refNode,
int offset)
Sets the attributes describing the start of the Range. |
void |
setStartAfter(org.w3c.dom.Node refNode)
Sets the start position to be after a node |
void |
setStartBefore(org.w3c.dom.Node refNode)
Sets the start position to be before a node |
void |
surroundContents(org.w3c.dom.Node newParent)
Reparents the contents of the Range to the given node and inserts the
node at the position of the start of the Range. |
java.lang.String |
toString()
Returns the contents of a Range as a string. |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait |
RangeImpl
public RangeImpl(DocumentImpl document)
- The constructor. Clients must use DocumentRange.createRange(),
because it registers the Range with the document, so it can
be fixed-up.
getStartContainer
public org.w3c.dom.Node getStartContainer()
- Description copied from interface: org.w3c.dom.ranges.Range
- Node within which the Range begins
- Specified by:
- getStartContainer in interface org.w3c.dom.ranges.Range
- Tags copied from interface: org.w3c.dom.ranges.Range
- Throws:
- org.w3c.dom.DOMException - INVALID_STATE_ERR: Raised if
detach()
has already been
invoked on this object.
getStartOffset
public int getStartOffset()
- Description copied from interface: org.w3c.dom.ranges.Range
- Offset within the starting node of the Range.
- Specified by:
- getStartOffset in interface org.w3c.dom.ranges.Range
- Tags copied from interface: org.w3c.dom.ranges.Range
- Throws:
- org.w3c.dom.DOMException - INVALID_STATE_ERR: Raised if
detach()
has already been
invoked on this object.
getEndContainer
public org.w3c.dom.Node getEndContainer()
- Description copied from interface: org.w3c.dom.ranges.Range
- Node within which the Range ends
- Specified by:
- getEndContainer in interface org.w3c.dom.ranges.Range
- Tags copied from interface: org.w3c.dom.ranges.Range
- Throws:
- org.w3c.dom.DOMException - INVALID_STATE_ERR: Raised if
detach()
has already been
invoked on this object.
getEndOffset
public int getEndOffset()
- Description copied from interface: org.w3c.dom.ranges.Range
- Offset within the ending node of the Range.
- Specified by:
- getEndOffset in interface org.w3c.dom.ranges.Range
- Tags copied from interface: org.w3c.dom.ranges.Range
- Throws:
- org.w3c.dom.DOMException - INVALID_STATE_ERR: Raised if
detach()
has already been
invoked on this object.
getCollapsed
public boolean getCollapsed()
- Description copied from interface: org.w3c.dom.ranges.Range
- TRUE if the Range is collapsed
- Specified by:
- getCollapsed in interface org.w3c.dom.ranges.Range
- Tags copied from interface: org.w3c.dom.ranges.Range
- Throws:
- org.w3c.dom.DOMException - INVALID_STATE_ERR: Raised if
detach()
has already been
invoked on this object.
getCommonAncestorContainer
public org.w3c.dom.Node getCommonAncestorContainer()
- Description copied from interface: org.w3c.dom.ranges.Range
- The deepest common ancestor container of the Range's two
boundary-points.
- Specified by:
- getCommonAncestorContainer in interface org.w3c.dom.ranges.Range
- Tags copied from interface: org.w3c.dom.ranges.Range
- Throws:
- org.w3c.dom.DOMException - INVALID_STATE_ERR: Raised if
detach()
has already been
invoked on this object.
setStart
public void setStart(org.w3c.dom.Node refNode,
int offset)
throws org.w3c.dom.ranges.RangeException,
org.w3c.dom.DOMException
- Description copied from interface: org.w3c.dom.ranges.Range
- Sets the attributes describing the start of the Range.
- Specified by:
- setStart in interface org.w3c.dom.ranges.Range
- Tags copied from interface: org.w3c.dom.ranges.Range
- Parameters:
refNodeThe
- refNode
value. This parameter must be
different from null
.offsetThe
- startOffset
value.- Throws:
- org.w3c.dom.ranges.RangeException - INVALID_NODE_TYPE_ERR: Raised if
refNode
or an ancestor
of refNode
is an Entity, Notation, or DocumentType
node.- org.w3c.dom.DOMException - INDEX_SIZE_ERR: Raised if
offset
is negative or greater
than the number of child units in refNode
. Child units
are 16-bit units if refNode
is a type of CharacterData
node (e.g., a Text or Comment node) or a ProcessingInstruction
node. Child units are Nodes in all other cases.
INVALID_STATE_ERR: Raised if detach()
has already
been invoked on this object.
setEnd
public void setEnd(org.w3c.dom.Node refNode,
int offset)
throws org.w3c.dom.ranges.RangeException,
org.w3c.dom.DOMException
- Description copied from interface: org.w3c.dom.ranges.Range
- Sets the attributes describing the end of a Range.
- Specified by:
- setEnd in interface org.w3c.dom.ranges.Range
- Tags copied from interface: org.w3c.dom.ranges.Range
- Parameters:
refNodeThe
- refNode
value. This parameter must be
different from null
.offsetThe
- endOffset
value.- Throws:
- org.w3c.dom.ranges.RangeException - INVALID_NODE_TYPE_ERR: Raised if
refNode
or an ancestor
of refNode
is an Entity, Notation, or DocumentType
node.- org.w3c.dom.DOMException - INDEX_SIZE_ERR: Raised if
offset
is negative or greater
than the number of child units in refNode
. Child units
are 16-bit units if refNode
is a type of CharacterData
node (e.g., a Text or Comment node) or a ProcessingInstruction
node. Child units are Nodes in all other cases.
INVALID_STATE_ERR: Raised if detach()
has already
been invoked on this object.
setStartBefore
public void setStartBefore(org.w3c.dom.Node refNode)
throws org.w3c.dom.ranges.RangeException
- Description copied from interface: org.w3c.dom.ranges.Range
- Sets the start position to be before a node
- Specified by:
- setStartBefore in interface org.w3c.dom.ranges.Range
- Tags copied from interface: org.w3c.dom.ranges.Range
- Parameters:
refNodeRange
- starts before refNode
- Throws:
- org.w3c.dom.ranges.RangeException - INVALID_NODE_TYPE_ERR: Raised if the root container of
refNode
is not an Attr, Document, or DocumentFragment
node or if refNode
is a Document, DocumentFragment,
Attr, Entity, or Notation node.- org.w3c.dom.DOMException - INVALID_STATE_ERR: Raised if
detach()
has already been
invoked on this object.
setStartAfter
public void setStartAfter(org.w3c.dom.Node refNode)
throws org.w3c.dom.ranges.RangeException
- Description copied from interface: org.w3c.dom.ranges.Range
- Sets the start position to be after a node
- Specified by:
- setStartAfter in interface org.w3c.dom.ranges.Range
- Tags copied from interface: org.w3c.dom.ranges.Range
- Parameters:
refNodeRange
- starts after refNode
- Throws:
- org.w3c.dom.ranges.RangeException - INVALID_NODE_TYPE_ERR: Raised if the root container of
refNode
is not an Attr, Document, or DocumentFragment
node or if refNode
is a Document, DocumentFragment,
Attr, Entity, or Notation node.- org.w3c.dom.DOMException - INVALID_STATE_ERR: Raised if
detach()
has already been
invoked on this object.
setEndBefore
public void setEndBefore(org.w3c.dom.Node refNode)
throws org.w3c.dom.ranges.RangeException
- Description copied from interface: org.w3c.dom.ranges.Range
- Sets the end position to be before a node.
- Specified by:
- setEndBefore in interface org.w3c.dom.ranges.Range
- Tags copied from interface: org.w3c.dom.ranges.Range
- Parameters:
refNodeRange
- ends before refNode
- Throws:
- org.w3c.dom.ranges.RangeException - INVALID_NODE_TYPE_ERR: Raised if the root container of
refNode
is not an Attr, Document, or DocumentFragment
node or if refNode
is a Document, DocumentFragment,
Attr, Entity, or Notation node.- org.w3c.dom.DOMException - INVALID_STATE_ERR: Raised if
detach()
has already been
invoked on this object.
setEndAfter
public void setEndAfter(org.w3c.dom.Node refNode)
throws org.w3c.dom.ranges.RangeException
- Description copied from interface: org.w3c.dom.ranges.Range
- Sets the end of a Range to be after a node
- Specified by:
- setEndAfter in interface org.w3c.dom.ranges.Range
- Tags copied from interface: org.w3c.dom.ranges.Range
- Parameters:
refNodeRange
- ends after refNode
.- Throws:
- org.w3c.dom.ranges.RangeException - INVALID_NODE_TYPE_ERR: Raised if the root container of
refNode
is not an Attr, Document or DocumentFragment
node or if refNode
is a Document, DocumentFragment,
Attr, Entity, or Notation node.- org.w3c.dom.DOMException - INVALID_STATE_ERR: Raised if
detach()
has already been
invoked on this object.
collapse
public void collapse(boolean toStart)
- Description copied from interface: org.w3c.dom.ranges.Range
- Collapse a Range onto one of its boundary-points
- Specified by:
- collapse in interface org.w3c.dom.ranges.Range
- Tags copied from interface: org.w3c.dom.ranges.Range
- Parameters:
toStartIf
- TRUE, collapses the Range onto its start; if FALSE,
collapses it onto its end.- Throws:
- org.w3c.dom.DOMException - INVALID_STATE_ERR: Raised if
detach()
has already been
invoked on this object.
selectNode
public void selectNode(org.w3c.dom.Node refNode)
throws org.w3c.dom.ranges.RangeException
- Description copied from interface: org.w3c.dom.ranges.Range
- Select a node and its contents
- Specified by:
- selectNode in interface org.w3c.dom.ranges.Range
- Tags copied from interface: org.w3c.dom.ranges.Range
- Parameters:
refNodeThe
- node to select.- Throws:
- org.w3c.dom.ranges.RangeException - INVALID_NODE_TYPE_ERR: Raised if an ancestor of
refNode
is an Entity, Notation or DocumentType node or if
refNode
is a Document, DocumentFragment, Attr, Entity,
or Notation node.- org.w3c.dom.DOMException - INVALID_STATE_ERR: Raised if
detach()
has already been
invoked on this object.
selectNodeContents
public void selectNodeContents(org.w3c.dom.Node refNode)
throws org.w3c.dom.ranges.RangeException
- Description copied from interface: org.w3c.dom.ranges.Range
- Select the contents within a node
- Specified by:
- selectNodeContents in interface org.w3c.dom.ranges.Range
- Tags copied from interface: org.w3c.dom.ranges.Range
- Parameters:
refNodeNode
- to select from- Throws:
- org.w3c.dom.ranges.RangeException - INVALID_NODE_TYPE_ERR: Raised if
refNode
or an ancestor
of refNode
is an Entity, Notation or DocumentType node.- org.w3c.dom.DOMException - INVALID_STATE_ERR: Raised if
detach()
has already been
invoked on this object.
compareBoundaryPoints
public short compareBoundaryPoints(short how,
org.w3c.dom.ranges.Range sourceRange)
throws org.w3c.dom.DOMException
- Description copied from interface: org.w3c.dom.ranges.Range
- Compare the boundary-points of two Ranges in a document.
- Specified by:
- compareBoundaryPoints in interface org.w3c.dom.ranges.Range
- Tags copied from interface: org.w3c.dom.ranges.Range
- Parameters:
howA
- code representing the type of comparison, as defined above.sourceRangeThe
- Range
on which this current
Range
is compared to.- Returns:
- -1, 0 or 1 depending on whether the corresponding
boundary-point of the Range is respectively before, equal to, or
after the corresponding boundary-point of
sourceRange
. - Throws:
- org.w3c.dom.DOMException - WRONG_DOCUMENT_ERR: Raised if the two Ranges are not in the same
Document or DocumentFragment.
INVALID_STATE_ERR: Raised if detach()
has already
been invoked on this object.
deleteContents
public void deleteContents()
throws org.w3c.dom.DOMException
- Description copied from interface: org.w3c.dom.ranges.Range
- Removes the contents of a Range from the containing document or
document fragment without returning a reference to the removed
content.
- Specified by:
- deleteContents in interface org.w3c.dom.ranges.Range
- Tags copied from interface: org.w3c.dom.ranges.Range
- Throws:
- org.w3c.dom.DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised if any portion of the content of
the Range is read-only or any of the nodes that contain any of the
content of the Range are read-only.
INVALID_STATE_ERR: Raised if detach()
has already
been invoked on this object.
extractContents
public org.w3c.dom.DocumentFragment extractContents()
throws org.w3c.dom.DOMException
- Description copied from interface: org.w3c.dom.ranges.Range
- Moves the contents of a Range from the containing document or document
fragment to a new DocumentFragment.
- Specified by:
- extractContents in interface org.w3c.dom.ranges.Range
- Tags copied from interface: org.w3c.dom.ranges.Range
- Returns:
- A DocumentFragment containing the extracted contents.
- Throws:
- org.w3c.dom.DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised if any portion of the content of
the Range is read-only or any of the nodes which contain any of the
content of the Range are read-only.
HIERARCHY_REQUEST_ERR: Raised if a DocumentType node would be
extracted into the new DocumentFragment.
INVALID_STATE_ERR: Raised if detach()
has already
been invoked on this object.
cloneContents
public org.w3c.dom.DocumentFragment cloneContents()
throws org.w3c.dom.DOMException
- Description copied from interface: org.w3c.dom.ranges.Range
- Duplicates the contents of a Range
- Specified by:
- cloneContents in interface org.w3c.dom.ranges.Range
- Tags copied from interface: org.w3c.dom.ranges.Range
- Returns:
- A DocumentFragment that contains content equivalent to this
Range.
- Throws:
- org.w3c.dom.DOMException - HIERARCHY_REQUEST_ERR: Raised if a DocumentType node would be
extracted into the new DocumentFragment.
INVALID_STATE_ERR: Raised if detach()
has already
been invoked on this object.
insertNode
public void insertNode(org.w3c.dom.Node newNode)
throws org.w3c.dom.DOMException,
org.w3c.dom.ranges.RangeException
- Description copied from interface: org.w3c.dom.ranges.Range
- Inserts a node into the Document or DocumentFragment at the start of
the Range. If the container is a Text node, this will be split at the
start of the Range (as if the Text node's splitText method was
performed at the insertion point) and the insertion will occur
between the two resulting Text nodes. Adjacent Text nodes will not be
automatically merged. If the node to be inserted is a
DocumentFragment node, the children will be inserted rather than the
DocumentFragment node itself.
- Specified by:
- insertNode in interface org.w3c.dom.ranges.Range
- Tags copied from interface: org.w3c.dom.ranges.Range
- Parameters:
newNodeThe
- node to insert at the start of the Range- Throws:
- org.w3c.dom.DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised if an ancestor container of the
start of the Range is read-only.
WRONG_DOCUMENT_ERR: Raised if newNode
and the
container of the start of the Range were not created from the same
document.
HIERARCHY_REQUEST_ERR: Raised if the container of the start of
the Range is of a type that does not allow children of the type of
newNode
or if newNode
is an ancestor of
the container.
INVALID_STATE_ERR: Raised if detach()
has already
been invoked on this object.- org.w3c.dom.ranges.RangeException - INVALID_NODE_TYPE_ERR: Raised if
newNode
is an Attr,
Entity, Notation, or Document node.
surroundContents
public void surroundContents(org.w3c.dom.Node newParent)
throws org.w3c.dom.DOMException,
org.w3c.dom.ranges.RangeException
- Description copied from interface: org.w3c.dom.ranges.Range
- Reparents the contents of the Range to the given node and inserts the
node at the position of the start of the Range.
- Specified by:
- surroundContents in interface org.w3c.dom.ranges.Range
- Tags copied from interface: org.w3c.dom.ranges.Range
- Parameters:
newParentThe
- node to surround the contents with.- Throws:
- org.w3c.dom.DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised if an ancestor container of
either boundary-point of the Range is read-only.
WRONG_DOCUMENT_ERR: Raised if newParent
and the
container of the start of the Range were not created from the same
document.
HIERARCHY_REQUEST_ERR: Raised if the container of the start of
the Range is of a type that does not allow children of the type of
newParent
or if newParent
is an ancestor
of the container or if node
would end up with a child
node of a type not allowed by the type of node
.
INVALID_STATE_ERR: Raised if detach()
has already
been invoked on this object.- org.w3c.dom.ranges.RangeException - BAD_BOUNDARYPOINTS_ERR: Raised if the Range partially selects a
non-text node.
INVALID_NODE_TYPE_ERR: Raised if node
is an Attr,
Entity, DocumentType, Notation, Document, or DocumentFragment node.
cloneRange
public org.w3c.dom.ranges.Range cloneRange()
- Description copied from interface: org.w3c.dom.ranges.Range
- Produces a new Range whose boundary-points are equal to the
boundary-points of the Range.
- Specified by:
- cloneRange in interface org.w3c.dom.ranges.Range
- Tags copied from interface: org.w3c.dom.ranges.Range
- Returns:
- The duplicated Range.
- Throws:
- org.w3c.dom.DOMException - INVALID_STATE_ERR: Raised if
detach()
has already been
invoked on this object.
toString
public java.lang.String toString()
- Description copied from interface: org.w3c.dom.ranges.Range
- Returns the contents of a Range as a string. This string contains only
the data characters, not any markup.
- Specified by:
- toString in interface org.w3c.dom.ranges.Range
- Overrides:
- toString in class java.lang.Object
- Tags copied from interface: org.w3c.dom.ranges.Range
- Returns:
- The contents of the Range.
- Throws:
- org.w3c.dom.DOMException - INVALID_STATE_ERR: Raised if
detach()
has already been
invoked on this object.
detach
public void detach()
- Description copied from interface: org.w3c.dom.ranges.Range
- Called to indicate that the Range is no longer in use and that the
implementation may relinquish any resources associated with this
Range. Subsequent calls to any methods or attribute getters on this
Range will result in a
DOMException
being thrown with an
error code of INVALID_STATE_ERR
.
- Specified by:
- detach in interface org.w3c.dom.ranges.Range
- Tags copied from interface: org.w3c.dom.ranges.Range
- Throws:
- org.w3c.dom.DOMException - INVALID_STATE_ERR: Raised if
detach()
has already been
invoked on this object.
insertedNodeFromDOM
public void insertedNodeFromDOM(org.w3c.dom.Node node)
- This function is called from the DOM.
This node has already been inserted into the DOM.
Fix-up any offsets.
Copyright © 1999-2001 Apache XML Project. All Rights Reserved.