Package org.apache.xmlbeans
Class XmlCursor.XmlBookmark
java.lang.Object
org.apache.xmlbeans.XmlCursor.XmlBookmark
- Direct Known Subclasses:
CDataBookmark
,SchemaBookmark
,XmlLineNumber
- Enclosing interface:
- XmlCursor
public abstract static class XmlCursor.XmlBookmark extends Object
Subclasses of XmlBookmark can be used to annotate an XML document.
This class is abstract to prevent parties from inadvertently
interfering with each others' bookmarks without explicitly
sharing a bookmark class.
-
Field Summary
Fields Modifier and Type Field Description XmlCursor.XmlMark
_currentMark
The mark is set by the host document; it is capable of returning an XmlCursor implementation at the location of the bookmark.Reference
_ref
If non-null, the ref is used by the host document to maintain a reference to the bookmark. -
Constructor Summary
Constructors Constructor Description XmlBookmark()
Constructs a strongly-referenced bookmark.XmlBookmark(boolean weak)
Constructs a bookmark. -
Method Summary
Modifier and Type Method Description XmlCursor
createCursor()
Call the createCursor method to create a new cursor which is positioned at the same splace as the bookmark.Object
getKey()
The default key for bookmarks is the class which implements them.XmlCursor
toBookmark(XmlCursor c)
-
Field Details
-
_currentMark
The mark is set by the host document; it is capable of returning an XmlCursor implementation at the location of the bookmark. -
_ref
If non-null, the ref is used by the host document to maintain a reference to the bookmark. If it is a weak reference, the host document will not prevent the Bookmark from being garbage collected.
-
-
Constructor Details
-
XmlBookmark
public XmlBookmark()Constructs a strongly-referenced bookmark. -
XmlBookmark
public XmlBookmark(boolean weak)Constructs a bookmark.- Parameters:
weak
- true if the document's reference to the bookmark should be a WeakReference
-
-
Method Details
-
createCursor
Call the createCursor method to create a new cursor which is positioned at the same splace as the bookmark. It is much more efficient to call toBookmark on an existing cursor than it is to create a new cursor. However, toBookmark may fail if the bookmark is in a different document than the cursor. It is under these circumstances where createCursor needs to be called on the bookmark. Subsequent navigations to bookmark positions should attempt to reuse the last cursor to improve performace.- Returns:
- the new cursor
-
toBookmark
- Parameters:
c
- the cursor to be moved- Returns:
- the given cursor moved to this bookmark
-
getKey
The default key for bookmarks is the class which implements them. This way, multiple parties using bookmarks in the same instance document will not interfere with eachother. One can, however, override getKey() to use a key other than the class.- Returns:
- default key for bookmarks
-