RevisionGroupCollection
Inheritance: java.lang.Object
All Implemented Interfaces: java.lang.Iterable
public class RevisionGroupCollection implements Iterable
A collection of RevisionGroup objects that represent revision groups in the document.
To learn more, visit the Track Changes in a Document documentation article.
Remarks:
You do not create instances of this class directly. Use the RevisionCollection.getGroups() property to get revision groups present in a document.
Examples:
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);
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()));
}
Methods
Method | Description |
---|---|
get(int index) | Returns a revision group at the specified index. |
getCount() | Returns the number of revision groups in the collection. |
iterator() | Returns an enumerator object. |
get(int index)
public RevisionGroup get(int index)
Returns a revision group at the specified index.
Examples:
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);
Parameters:
Parameter | Type | Description |
---|---|---|
index | int |
Returns: RevisionGroup - A revision group at the specified index.
getCount()
public int getCount()
Returns the number of revision groups in the collection.
Examples:
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()));
}
Returns: int - The number of revision groups in the collection.
iterator()
public Iterator iterator()
Returns an enumerator object.
Examples:
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 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 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());
Returns: java.util.Iterator