com.aspose.words

Class RevisionGroupCollection

  • java.lang.Object
    • 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 a document.
Document doc = new Document(getMyDir() + "Revisions.docx");

RevisionGroup revisionGroup = doc.getRevisions().getGroups().get(0);

Example:

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

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

for (RevisionGroup group : doc.getRevisions().getGroups()) {
    System.out.println(MessageFormat.format("Revision author: {0}; Revision type: {1} \n\tRevision text: {2}", group.getAuthor(), group.getRevisionType(), group.getText()));
}

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 print info about a group of revisions in a document.
        Document doc = new Document(getMyDir() + "Revisions.docx");
        
        Assert.assertEquals(7, doc.getRevisions().getGroups().getCount());
        
        for (RevisionGroup group : doc.getRevisions().getGroups()) {
            System.out.println(MessageFormat.format("Revision author: {0}; Revision type: {1} \n\tRevision text: {2}", group.getAuthor(), group.getRevisionType(), group.getText()));
        }
      • get

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

        Example:

        Shows how to get a group of revisions in a document.
        Document doc = new Document(getMyDir() + "Revisions.docx");
        
        RevisionGroup revisionGroup = doc.getRevisions().getGroups().get(0);
    • Method Detail

      • iterator

        public java.util.Iterator<RevisionGroup> iterator()
        Returns an enumerator object.

        Example:

        Shows how to work with a document's collection of revisions.
        Document doc = new Document(getMyDir() + "Revisions.docx");
        RevisionCollection revisions = doc.getRevisions();
        
        // This collection itself has a collection of revision groups.
        // Each group is a sequence of adjacent revisions.
        System.out.println(MessageFormat.format("{0} revision groups:", revisions.getGroups().getCount()));
        
        // Iterate over the collection of groups and print the text that the revision concerns.
        Iterator<RevisionGroup> e = revisions.getGroups().iterator();
        
        while (e.hasNext()) {
            RevisionGroup revisionGroup = e.next();
        
            System.out.println(MessageFormat.format("\tGroup type \"{0}\", ", revisionGroup.getRevisionType()) +
                    MessageFormat.format("author: {0}, contents: [{1}]", revisionGroup.getAuthor(), revisionGroup.getText().trim()));
        }
        
        // Each Run that a revision affects gets a corresponding Revision object.
        // The revisions' collection is considerably larger than the condensed form we printed above,
        // depending on how many Runs we have segmented the document into during Microsoft Word editing.
        System.out.println("\n{revisions.Count} revisions:");
        
        Iterator<Revision> e1 = revisions.iterator();
        
        while (e1.hasNext()) {
            Revision revision = e1.next();
        
            // A StyleDefinitionChange strictly affects styles and not document nodes. This means the "ParentStyle"
            // property will always be in use, 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 (revision.getRevisionType() == RevisionType.STYLE_DEFINITION_CHANGE) {
                System.out.println(MessageFormat.format("\tRevision type \"{0}\", ", revision.getRevisionType()) +
                        MessageFormat.format("author: {0}, style: [{1}]", revision.getAuthor(), revision.getParentStyle().getName()));
            } else {
                System.out.println(MessageFormat.format("\tRevision type \"{0}\", ", revision.getRevisionType()) +
                        MessageFormat.format("author: {0}, contents: [{1}]", revision.getAuthor(), revision.getParentNode().getText().trim()));
            }
        }
        
        // Reject all revisions via the collection, reverting the document to its original form.
        revisions.rejectAll();
        
        Assert.assertEquals(0, revisions.getCount());