com.aspose.words

Class Revision

  • java.lang.Object
    • com.aspose.words.Revision
public class Revision 
extends java.lang.Object

Represents a revision (tracked change) in a document node or style. Use RevisionType to check the type of this revision.

Property Getters/Setters Summary
java.lang.StringgetAuthor()
void
setAuthor(java.lang.Stringvalue)
           Gets or sets the author of this revision. Can not be empty string or null.
java.util.DategetDateTime()
void
setDateTime(java.util.Datevalue)
           Gets or sets the date/time of this revision.
RevisionGroupgetGroup()
Gets the revision group. Returns null if the revision does not belong to any group.
NodegetParentNode()
Gets the immediate parent node (owner) of this revision. This property will work for any revision type other than RevisionType.STYLE_DEFINITION_CHANGE.
StylegetParentStyle()
Gets the immediate parent style (owner) of this revision. This property will work for only for the RevisionType.STYLE_DEFINITION_CHANGE revision type.
intgetRevisionType()
Gets the type of this revision. The value of the property is RevisionType integer constant.
 
Method Summary
voidaccept()
Accepts this revision.
voidreject()
Reject this revision.
 

    • Property Getters/Setters Detail

      • getAuthor/setAuthor

        public java.lang.String getAuthor() / public void setAuthor(java.lang.String value)
        
        Gets or sets the author of this revision. Can not be empty string or null.
      • getDateTime/setDateTime

        public java.util.Date getDateTime() / public void setDateTime(java.util.Date value)
        
        Gets or sets the date/time of this revision.
      • getGroup

        public RevisionGroup getGroup()
        
        Gets the revision group. Returns null if the revision does not belong to any group. Revision has no group if revision type is RevisionType.StyleDefinitionChange or if the revision is not longer exist in document context (accepted/rejected).
      • getParentNode

        public Node getParentNode()
        
        Gets the immediate parent node (owner) of this revision. This property will work for any revision type other than RevisionType.STYLE_DEFINITION_CHANGE. If this revision relates to change of Style formatting, use ParentStyle instead.

        Example:

        Shows how to determine the revision type of an inline node.
        Document doc = new Document(getMyDir() + "Revision runs.docx");
        
        // When we edit the document while the "Track Changes" option, found in via Review -> Tracking,
        // is turned on in Microsoft Word, the changes we apply count as revisions.
        // When editing a document using Aspose.Words, we can begin tracking revisions by
        // invoking the document's "StartTrackRevisions" method, and stop tracking by using the "StopTrackRevisions" method.
        // We can either accept revisions to assimilate them into the document
        // or reject them to change the proposed change effectively.
        Assert.assertEquals(6, doc.getRevisions().getCount());
        
        // The parent node of a revision is the run that the revision concerns. A Run is an Inline node.
        Run run = (Run) doc.getRevisions().get(0).getParentNode();
        
        Paragraph firstParagraph = run.getParentParagraph();
        RunCollection runs = firstParagraph.getRuns();
        
        Assert.assertEquals(runs.getCount(), 6);
        
        // Below are five types of revisions that can flag an Inline node.
        // 1 -  An "insert" revision:
        // This revision occurs when we insert text while tracking changes.
        Assert.assertTrue(runs.get(2).isInsertRevision());
        
        // 2 -  A "format" revision:
        // This revision occurs when we change the formatting of text while tracking changes.
        Assert.assertTrue(runs.get(2).isFormatRevision());
        
        // 3 -  A "move from" revision:
        // When we highlight text in Microsoft Word, and then drag it to a different place in the document
        // while tracking changes, two revisions appear.
        // The "move from" revision is a copy of the text originally before we moved it.
        Assert.assertTrue(runs.get(4).isMoveFromRevision());
        
        // 4 -  A "move to" revision:
        // The "move to" revision is the text that we moved in its new position in the document.
        // "Move from" and "move to" revisions appear in pairs for every move revision we carry out.
        // Accepting a move revision deletes the "move from" revision and its text,
        // and keeps the text from the "move to" revision.
        // Rejecting a move revision conversely keeps the "move from" revision and deletes the "move to" revision.
        Assert.assertTrue(runs.get(1).isMoveToRevision());
        
        // 5 -  A "delete" revision:
        // This revision occurs when we delete text while tracking changes. When we delete text like this,
        // it will stay in the document as a revision until we either accept the revision,
        // which will delete the text for good, or reject the revision, which will keep the text we deleted where it was.
        Assert.assertTrue(runs.get(5).isDeleteRevision());
      • getParentStyle

        public Style getParentStyle()
        
        Gets the immediate parent style (owner) of this revision. This property will work for only for the RevisionType.STYLE_DEFINITION_CHANGE revision type. If this revision relates to changes on document nodes, use ParentNode instead.
      • getRevisionType

        public int getRevisionType()
        
        Gets the type of this revision. The value of the property is RevisionType integer constant.
    • Method Detail

      • accept

        public void accept()
                   throws java.lang.Exception
        Accepts this revision.
      • reject

        public void reject()
                   throws java.lang.Exception
        Reject this revision.