com.aspose.words
Class RevisionGroupCollection

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

public class RevisionGroupCollection 
extends java.lang.Object

A collection of RevisionGroup objects that represent revision groups in the document.

You do not create instances of this class directly. Use the RevisionCollection.Groups property to get revision groups present in a document.

Example:

Shows how to get a group of revisions in document.
Document doc = new Document(getMyDir() + "Revisions.docx");

// Get revision group by index
RevisionGroup revisionGroup = doc.getRevisions().getGroups().get(0);

Example:

Shows how to get info about a group of revisions in document.
Document doc = new Document(getMyDir() + "Revisions.docx");

Assert.assertEquals(7, doc.getRevisions().getGroups().getCount());

// Get info about all of revisions in document
for (RevisionGroup group : doc.getRevisions().getGroups()) {
    System.out.println(MessageFormat.format("Revision author: {0}; Revision type: {1} \nRevision text: {2}", group.getAuthor(),
            group.getRevisionType(), group.getRevisionType()));
}

Property Getters/Setters Summary
intgetCount()
           Returns the number of revision groups in the collection.
RevisionGroupget(int index)
           Returns a revision group at the specified index.
 
Method Summary
java.util.Iterator<RevisionGroup>iterator()
           Returns an enumerator object.
 

Property Getters/Setters Detail

getCount

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

Example:

Shows how to get info about a group of revisions in document.
Document doc = new Document(getMyDir() + "Revisions.docx");

Assert.assertEquals(7, doc.getRevisions().getGroups().getCount());

// Get info about all of revisions in document
for (RevisionGroup group : doc.getRevisions().getGroups()) {
    System.out.println(MessageFormat.format("Revision author: {0}; Revision type: {1} \nRevision text: {2}", group.getAuthor(),
            group.getRevisionType(), group.getRevisionType()));
}

get

public RevisionGroup get(int index)
Returns a revision group at the specified index.

Example:

Shows how to get a group of revisions in document.
Document doc = new Document(getMyDir() + "Revisions.docx");

// Get revision group by index
RevisionGroup revisionGroup = doc.getRevisions().getGroups().get(0);

Method Detail

iterator

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

Example:

Shows how to look through a document's revisions.
// Open a document that contains revisions and get its revision collection
Document doc = new Document(getMyDir() + "Revisions.docx");
RevisionCollection revisions = doc.getRevisions();

// This collection itself has a collection of revision groups, which are merged sequences of adjacent revisions
System.out.println("{revisions.Groups.Count} revision groups:");

// We can iterate over the collection of groups and access the text that the revision concerns
Iterator<RevisionGroup> e = revisions.getGroups().iterator();
while (e.hasNext()) {
    RevisionGroup currentRevisionGroup = e.next();
    System.out.println(MessageFormat.format("\tGroup type \"{0}\", ", currentRevisionGroup.getRevisionType()) +
            MessageFormat.format("author: {0}, contents: [{1}]", currentRevisionGroup.getAuthor(), currentRevisionGroup.getText().trim()));
}

// The collection of revisions is considerably larger than the condensed form we printed above,
// depending on how many Runs the text has been segmented into during editing in Microsoft Word,
// since each Run affected by a revision gets its own Revision object
System.out.println("\n{revisions.Count} revisions:");

Iterator<Revision> e1 = revisions.iterator();

while (e1.hasNext()) {
    Revision currentRevision = e1.next();

    // A StyleDefinitionChange strictly affects styles and not document nodes, so in this case the ParentStyle
    // attribute will always be used, while the ParentNode will always be null
    // Since all other changes affect nodes, ParentNode will conversely be in use and ParentStyle will be null
    if (currentRevision.getRevisionType() == RevisionType.STYLE_DEFINITION_CHANGE) {
        System.out.println(MessageFormat.format("\tRevision type \"{0}\", ", currentRevision.getRevisionType()) +
                MessageFormat.format("author: {0}, style: [{1}]", currentRevision.getAuthor(), currentRevision.getParentStyle().getName()));
    } else {
        System.out.println(MessageFormat.format("\tRevision type \"{0}\", ", currentRevision.getRevisionType()) +
                MessageFormat.format("author: {0}, contents: [{1}]", currentRevision.getAuthor(), currentRevision.getParentNode().getText().trim()));
    }
}

// While the collection of revision groups provides a clearer overview of all revisions that took place in the document,
// the changes must be accepted/rejected by the revisions themselves, the RevisionCollection, or the document
// In this case we will reject all revisions via the collection, reverting the document to its original form, which we will then save
revisions.rejectAll();
Assert.assertEquals(revisions.getCount(), 0);

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