com.aspose.words
Class BookmarkCollection

java.lang.Object
    extended by com.aspose.words.BookmarkCollection
All Implemented Interfaces:
java.lang.Iterable

public class BookmarkCollection 
extends java.lang.Object

A collection of Bookmark objects that represent the bookmarks in the specified range.

Example:

Shows how to obtain bookmarks from a bookmark collection.
Document doc = new Document(getMyDir() + "Bookmarks.doc");

// By index.
Bookmark bookmark1 = doc.getRange().getBookmarks().get(0);

// By name.
Bookmark bookmark2 = doc.getRange().getBookmarks().get("Bookmark2");

Property Getters/Setters Summary
intgetCount()
           Returns the number of bookmarks in the collection.
Bookmarkget(int index)
           Returns a bookmark at the specified index.
Bookmarkget(java.lang.String bookmarkName)
           Returns a bookmark by name.
 
Method Summary
voidclear()
           Removes all bookmarks from this collection and from the document.
java.util.Iterator<Bookmark>iterator()
           Returns an enumerator object.
voidremove(Bookmark bookmark)
           Removes the specified bookmark from the document.
voidremove(java.lang.String bookmarkName)
           Removes a bookmark with the specified name.
voidremoveAt(int index)
           Removes a bookmark at the specified index.
 

Property Getters/Setters Detail

getCount

public int getCount()
Returns the number of bookmarks in the collection.

Example:

Shows how to count the number of bookmarks in a document.
Document doc = new Document(getMyDir() + "Bookmark.doc");

int count = doc.getRange().getBookmarks().getCount();

get

public Bookmark get(int index)
Returns a bookmark at the specified index.

The index is zero-based.

Negative indexes are allowed and indicate access from the back of the collection. For example -1 means the last item, -2 means the second before last and so on.

If index is greater than or equal to the number of items in the list, this returns a null reference.

If index is negative and its absolute value is greater than the number of items in the list, this returns a null reference.

Parameters:
index - An index into the collection.

Example:

Shows how to obtain bookmarks from a bookmark collection.
Document doc = new Document(getMyDir() + "Bookmarks.doc");

// By index.
Bookmark bookmark1 = doc.getRange().getBookmarks().get(0);

// By name.
Bookmark bookmark2 = doc.getRange().getBookmarks().get("Bookmark2");

get

public Bookmark get(java.lang.String bookmarkName)
Returns a bookmark by name.

Returns null if the bookmark with the specified name cannot be found.

Parameters:
bookmarkName - Case-insensitive name of the bookmark.

Example:

Shows how to obtain bookmarks from a bookmark collection.
Document doc = new Document(getMyDir() + "Bookmarks.doc");

// By index.
Bookmark bookmark1 = doc.getRange().getBookmarks().get(0);

// By name.
Bookmark bookmark2 = doc.getRange().getBookmarks().get("Bookmark2");

Method Detail

clear

public void clear()
          throws java.lang.Exception
Removes all bookmarks from this collection and from the document.

Example:

Shows how to remove all bookmarks from a document.
Document doc = new Document(getMyDir() + "Bookmark.doc");
doc.getRange().getBookmarks().clear();

iterator

public java.util.Iterator<Bookmarkiterator()
Returns an enumerator object.

Example:

Shows how add bookmarks and update their contents.
public void createUpdateAndPrintBookmarks() throws Exception {
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    // Add some bookmarks to the document
    for (int i = 1; i < 4; i++) {
        String bookmarkName = "Bookmark " + i;

        builder.startBookmark(bookmarkName);
        builder.write("Text content of " + bookmarkName);
        builder.endBookmark(bookmarkName);
    }

    BookmarkCollection bookmarks = doc.getRange().getBookmarks();

    // Look at initial values of our bookmarks
    printAllBookmarkInfo(bookmarks);

    // Update some values
    bookmarks.get(0).setName("Updated name of " + bookmarks.get(0).getName());
    bookmarks.get(1).setText("Updated text content of " + bookmarks.get(1).getName());
    bookmarks.get(2).remove();

    bookmarks = doc.getRange().getBookmarks();

    // Look at updated values of our bookmarks
    printAllBookmarkInfo(bookmarks);

}

/// <summary>
/// Use an iterator and a visitor to print info of every bookmark from within a document.
/// </summary>
private static void printAllBookmarkInfo(final BookmarkCollection bookmarks) throws Exception {
    // Create a DocumentVisitor
    BookmarkInfoPrinter bookmarkVisitor = new BookmarkInfoPrinter();

    // Get the enumerator from the document's BookmarkCollection and iterate over the bookmarks
    Iterator<Bookmark> enumerator = bookmarks.iterator();
    while (enumerator.hasNext()) {
        Bookmark currentBookmark = enumerator.next();

        // Accept our DocumentVisitor it to print information about our bookmarks
        if (currentBookmark != null) {
            currentBookmark.getBookmarkStart().accept(bookmarkVisitor);
            currentBookmark.getBookmarkEnd().accept(bookmarkVisitor);

            // Prints a blank line
            System.out.println(currentBookmark.getBookmarkStart().getText());
        }
    }
}

/// <summary>
/// Visitor that prints bookmark information to the console.
/// </summary>
public static class BookmarkInfoPrinter extends DocumentVisitor {
    public int visitBookmarkStart(final BookmarkStart bookmarkStart) throws Exception {
        System.out.println(MessageFormat.format("BookmarkStart name: \"{0}\", Content: \"{1}\"", bookmarkStart.getName(),
                bookmarkStart.getBookmark().getText()));
        return VisitorAction.CONTINUE;
    }

    public int visitBookmarkEnd(final BookmarkEnd bookmarkEnd) {
        System.out.println(MessageFormat.format("BookmarkEnd name: \"{0}\"", bookmarkEnd.getName()));
        return VisitorAction.CONTINUE;
    }
}

remove

public void remove(Bookmark bookmark)
           throws java.lang.Exception
Removes the specified bookmark from the document.
Parameters:
bookmark - The bookmark to remove.

Example:

Demonstrates different methods of removing bookmarks from a document.
Document doc = new Document(getMyDir() + "Bookmarks.doc");

// Remove a particular bookmark from the document.
Bookmark bookmark = doc.getRange().getBookmarks().get(0);
doc.getRange().getBookmarks().remove(bookmark);

// Remove a bookmark by specified name.
doc.getRange().getBookmarks().remove("Bookmark2");

// Remove a bookmark at the specified index.
doc.getRange().getBookmarks().removeAt(0);

remove

public void remove(java.lang.String bookmarkName)
           throws java.lang.Exception
Removes a bookmark with the specified name.
Parameters:
bookmarkName - The case-insensitive name of the bookmark to remove.

Example:

Demonstrates different methods of removing bookmarks from a document.
Document doc = new Document(getMyDir() + "Bookmarks.doc");

// Remove a particular bookmark from the document.
Bookmark bookmark = doc.getRange().getBookmarks().get(0);
doc.getRange().getBookmarks().remove(bookmark);

// Remove a bookmark by specified name.
doc.getRange().getBookmarks().remove("Bookmark2");

// Remove a bookmark at the specified index.
doc.getRange().getBookmarks().removeAt(0);

removeAt

public void removeAt(int index)
             throws java.lang.Exception
Removes a bookmark at the specified index.
Parameters:
index - The zero-based index of the bookmark to remove.

Example:

Demonstrates different methods of removing bookmarks from a document.
Document doc = new Document(getMyDir() + "Bookmarks.doc");

// Remove a particular bookmark from the document.
Bookmark bookmark = doc.getRange().getBookmarks().get(0);
doc.getRange().getBookmarks().remove(bookmark);

// Remove a bookmark by specified name.
doc.getRange().getBookmarks().remove("Bookmark2");

// Remove a bookmark at the specified index.
doc.getRange().getBookmarks().removeAt(0);

See Also:
          Aspose.Words Documentation - the home page for the Aspose.Words Product Documentation.
          Aspose.Words Support Forum - our preferred method of support.