Nuxeo ECM Projects 5.4.3-SNAPSHOT

org.nuxeo.ecm.core.versioning
Class StandardVersioningService

java.lang.Object
  extended by org.nuxeo.ecm.core.versioning.StandardVersioningService
All Implemented Interfaces:
ExtendableVersioningService, VersioningService
Direct Known Subclasses:
CompatVersioningService

public class StandardVersioningService
extends Object
implements ExtendableVersioningService

Implementation of the versioning service that follows standard checkout / checkin semantics.


Field Summary
static String APPROVED_STATE
           
static String BACK_TO_PROJECT_TRANSITION
           
static String FILE_TYPE
           
static String NOTE_TYPE
           
static String OBSOLETE_STATE
           
static String PROJECT_STATE
           
 
Fields inherited from interface org.nuxeo.ecm.core.versioning.VersioningService
CHECKIN_COMMENT, MAJOR_VERSION_PROP, MINOR_VERSION_PROP, SKIP_VERSIONING, VERSIONING_OPTION
 
Constructor Summary
StandardVersioningService()
           
 
Method Summary
 Document doCheckIn(Document doc, VersioningOption option, String checkinComment)
          Applies version increment option and does a checkin.
 void doCheckOut(Document doc)
          Apply modifications after doing a checkout.
 void doPostCreate(Document doc, Map<String,Serializable> options)
          Applies versioning after document creation.
 Document doPostSave(Document doc, VersioningOption option, String checkinComment, Map<String,Serializable> options)
          Applies versioning options after document save.
 VersioningOption doPreSave(Document doc, boolean isDirty, VersioningOption option, String checkinComment, Map<String,Serializable> options)
          Applies versioning options before document save.
 List<VersioningOption> getSaveOptions(DocumentModel docModel)
          Checks what options are available on a document at save time.
 Map<String,VersioningRuleDescriptor> getVersioningRules()
           
 String getVersionLabel(DocumentModel docModel)
          Gets the version label to display for a given document.
 void setDefaultVersioningRule(DefaultVersioningRuleDescriptor defaultVersioningRule)
          Set the default versioning rule for all document type.
 void setVersioningRules(Map<String,VersioningRuleDescriptor> versioningRules)
          Add versioning rules for specific types.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

FILE_TYPE

public static final String FILE_TYPE
See Also:
Constant Field Values

NOTE_TYPE

public static final String NOTE_TYPE
See Also:
Constant Field Values

PROJECT_STATE

public static final String PROJECT_STATE
See Also:
Constant Field Values

APPROVED_STATE

public static final String APPROVED_STATE
See Also:
Constant Field Values

OBSOLETE_STATE

public static final String OBSOLETE_STATE
See Also:
Constant Field Values

BACK_TO_PROJECT_TRANSITION

public static final String BACK_TO_PROJECT_TRANSITION
See Also:
Constant Field Values
Constructor Detail

StandardVersioningService

public StandardVersioningService()
Method Detail

getVersionLabel

public String getVersionLabel(DocumentModel docModel)
Description copied from interface: VersioningService
Gets the version label to display for a given document.

Specified by:
getVersionLabel in interface VersioningService
Parameters:
docModel - the document
Returns:
the version label, like "2.1"

doPostCreate

public void doPostCreate(Document doc,
                         Map<String,Serializable> options)
Description copied from interface: VersioningService
Applies versioning after document creation.

Specified by:
doPostCreate in interface VersioningService
Parameters:
doc - the document

getSaveOptions

public List<VersioningOption> getSaveOptions(DocumentModel docModel)
                                      throws ClientException
Description copied from interface: VersioningService
Checks what options are available on a document at save time.

Specified by:
getSaveOptions in interface VersioningService
Parameters:
docModel - the document
Returns:
the options, the first being the default
Throws:
ClientException

doPreSave

public VersioningOption doPreSave(Document doc,
                                  boolean isDirty,
                                  VersioningOption option,
                                  String checkinComment,
                                  Map<String,Serializable> options)
                           throws DocumentException
Description copied from interface: VersioningService
Applies versioning options before document save.

Specified by:
doPreSave in interface VersioningService
Parameters:
doc - the document
isDirty - true if there is actual data to save
option - an option chosen by the user or framework
checkinComment - a checkin comment
Returns:
the validated option (to use in doPostSave)
Throws:
DocumentException

doPostSave

public Document doPostSave(Document doc,
                           VersioningOption option,
                           String checkinComment,
                           Map<String,Serializable> options)
                    throws DocumentException
Description copied from interface: VersioningService
Applies versioning options after document save. If a new version is checked in during the operation, the document for this version is returned to the caller.

Specified by:
doPostSave in interface VersioningService
Parameters:
doc - the document
option - an option chosen by the user or framework
checkinComment - a checkin comment
Returns:
checkedInDocument or null
Throws:
DocumentException

doCheckIn

public Document doCheckIn(Document doc,
                          VersioningOption option,
                          String checkinComment)
                   throws DocumentException
Description copied from interface: VersioningService
Applies version increment option and does a checkin.

Specified by:
doCheckIn in interface VersioningService
Parameters:
doc - the document
option - an option chosen by the user or framework
checkinComment - a checkin comment
Returns:
the version
Throws:
DocumentException

doCheckOut

public void doCheckOut(Document doc)
                throws DocumentException
Description copied from interface: VersioningService
Apply modifications after doing a checkout.

Specified by:
doCheckOut in interface VersioningService
Parameters:
doc - the document
Throws:
DocumentException

getVersioningRules

public Map<String,VersioningRuleDescriptor> getVersioningRules()
Specified by:
getVersioningRules in interface ExtendableVersioningService
Returns:
A Map containing the versioning rule for specific types.

setVersioningRules

public void setVersioningRules(Map<String,VersioningRuleDescriptor> versioningRules)
Description copied from interface: ExtendableVersioningService
Add versioning rules for specific types.

Specified by:
setVersioningRules in interface ExtendableVersioningService

setDefaultVersioningRule

public void setDefaultVersioningRule(DefaultVersioningRuleDescriptor defaultVersioningRule)
Description copied from interface: ExtendableVersioningService
Set the default versioning rule for all document type.

Specified by:
setDefaultVersioningRule in interface ExtendableVersioningService

Nuxeo ECM Projects 5.4.3-SNAPSHOT

Copyright © 2011 Nuxeo SAS. All Rights Reserved.