public class RangeImpl
extends java.lang.Object
implements org.w3c.dom.ranges.Range
Please see the API documentation for the interface classes and use the interfaces in your client programs.
Constructor and Description |
---|
RangeImpl(DocumentImpl document)
The constructor.
|
Modifier and Type | Method and Description |
---|---|
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.
|
public RangeImpl(DocumentImpl document)
public org.w3c.dom.Node getStartContainer()
org.w3c.dom.ranges.Range
getStartContainer
in interface org.w3c.dom.ranges.Range
public int getStartOffset()
org.w3c.dom.ranges.Range
getStartOffset
in interface org.w3c.dom.ranges.Range
public org.w3c.dom.Node getEndContainer()
org.w3c.dom.ranges.Range
getEndContainer
in interface org.w3c.dom.ranges.Range
public int getEndOffset()
org.w3c.dom.ranges.Range
getEndOffset
in interface org.w3c.dom.ranges.Range
public boolean getCollapsed()
org.w3c.dom.ranges.Range
getCollapsed
in interface org.w3c.dom.ranges.Range
public org.w3c.dom.Node getCommonAncestorContainer()
org.w3c.dom.ranges.Range
getCommonAncestorContainer
in interface org.w3c.dom.ranges.Range
public void setStart(org.w3c.dom.Node refNode, int offset) throws org.w3c.dom.ranges.RangeException, org.w3c.dom.DOMException
org.w3c.dom.ranges.Range
setStart
in interface org.w3c.dom.ranges.Range
refNode
- The refNode
value. This parameter must be
different from null
.offset
- The startOffset
value.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.
detach()
has already
been invoked on this object.
refNode
was created
from a different document than the one that created this range.public void setEnd(org.w3c.dom.Node refNode, int offset) throws org.w3c.dom.ranges.RangeException, org.w3c.dom.DOMException
org.w3c.dom.ranges.Range
setEnd
in interface org.w3c.dom.ranges.Range
refNode
- The refNode
value. This parameter must be
different from null
.offset
- The endOffset
value.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.
detach()
has already
been invoked on this object.
refNode
was created
from a different document than the one that created this range.public void setStartBefore(org.w3c.dom.Node refNode) throws org.w3c.dom.ranges.RangeException
org.w3c.dom.ranges.Range
setStartBefore
in interface org.w3c.dom.ranges.Range
refNode
- Range starts before refNode
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.public void setStartAfter(org.w3c.dom.Node refNode) throws org.w3c.dom.ranges.RangeException
org.w3c.dom.ranges.Range
setStartAfter
in interface org.w3c.dom.ranges.Range
refNode
- Range starts after refNode
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.public void setEndBefore(org.w3c.dom.Node refNode) throws org.w3c.dom.ranges.RangeException
org.w3c.dom.ranges.Range
setEndBefore
in interface org.w3c.dom.ranges.Range
refNode
- Range ends before refNode
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.public void setEndAfter(org.w3c.dom.Node refNode) throws org.w3c.dom.ranges.RangeException
org.w3c.dom.ranges.Range
setEndAfter
in interface org.w3c.dom.ranges.Range
refNode
- Range ends after refNode
.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.public void collapse(boolean toStart)
org.w3c.dom.ranges.Range
collapse
in interface org.w3c.dom.ranges.Range
toStart
- If TRUE, collapses the Range onto its start; if FALSE,
collapses it onto its end.public void selectNode(org.w3c.dom.Node refNode) throws org.w3c.dom.ranges.RangeException
org.w3c.dom.ranges.Range
selectNode
in interface org.w3c.dom.ranges.Range
refNode
- The node to select.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.public void selectNodeContents(org.w3c.dom.Node refNode) throws org.w3c.dom.ranges.RangeException
org.w3c.dom.ranges.Range
selectNodeContents
in interface org.w3c.dom.ranges.Range
refNode
- Node to select fromorg.w3c.dom.ranges.RangeException
- INVALID_NODE_TYPE_ERR: Raised if refNode
or an ancestor
of refNode
is an Entity, Notation or DocumentType node.public short compareBoundaryPoints(short how, org.w3c.dom.ranges.Range sourceRange) throws org.w3c.dom.DOMException
org.w3c.dom.ranges.Range
compareBoundaryPoints
in interface org.w3c.dom.ranges.Range
how
- A code representing the type of comparison, as defined
above.sourceRange
- The Range
on which this current
Range
is compared to.sourceRange
.org.w3c.dom.DOMException
- WRONG_DOCUMENT_ERR: Raised if the two Ranges are not in the same
Document or DocumentFragment.
detach()
has already
been invoked on this object.public void deleteContents() throws org.w3c.dom.DOMException
org.w3c.dom.ranges.Range
deleteContents
in interface org.w3c.dom.ranges.Range
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.
detach()
has already
been invoked on this object.public org.w3c.dom.DocumentFragment extractContents() throws org.w3c.dom.DOMException
org.w3c.dom.ranges.Range
extractContents
in interface org.w3c.dom.ranges.Range
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.
detach()
has already
been invoked on this object.public org.w3c.dom.DocumentFragment cloneContents() throws org.w3c.dom.DOMException
org.w3c.dom.ranges.Range
cloneContents
in interface org.w3c.dom.ranges.Range
org.w3c.dom.DOMException
- HIERARCHY_REQUEST_ERR: Raised if a DocumentType node would be
extracted into the new DocumentFragment.
detach()
has already
been invoked on this object.public void insertNode(org.w3c.dom.Node newNode) throws org.w3c.dom.DOMException, org.w3c.dom.ranges.RangeException
org.w3c.dom.ranges.Range
insertNode
in interface org.w3c.dom.ranges.Range
newNode
- The node to insert at the start of the Rangeorg.w3c.dom.DOMException
- NO_MODIFICATION_ALLOWED_ERR: Raised if an ancestor container of the
start of the Range is read-only.
newNode
and the
container of the start of the Range were not created from the same
document.
newNode
or if newNode
is an ancestor of
the container.
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.public void surroundContents(org.w3c.dom.Node newParent) throws org.w3c.dom.DOMException, org.w3c.dom.ranges.RangeException
org.w3c.dom.ranges.Range
surroundContents
in interface org.w3c.dom.ranges.Range
newParent
- The node to surround the contents with.org.w3c.dom.DOMException
- NO_MODIFICATION_ALLOWED_ERR: Raised if an ancestor container of
either boundary-point of the Range is read-only.
newParent
and the
container of the start of the Range were not created from the same
document.
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
.
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.
node
is an Attr,
Entity, DocumentType, Notation, Document, or DocumentFragment node.public org.w3c.dom.ranges.Range cloneRange()
org.w3c.dom.ranges.Range
cloneRange
in interface org.w3c.dom.ranges.Range
public java.lang.String toString()
org.w3c.dom.ranges.Range
toString
in interface org.w3c.dom.ranges.Range
toString
in class java.lang.Object
public void detach()
org.w3c.dom.ranges.Range
DOMException
being thrown with an
error code of INVALID_STATE_ERR
.detach
in interface org.w3c.dom.ranges.Range
public void insertedNodeFromDOM(org.w3c.dom.Node node)
Copyright © 1999-2022 The Apache Software Foundation. All Rights Reserved.