org.xiruss.snapcm.api
Class NullSnapshot

java.lang.Object
  extended by org.xiruss.snapcm.api.NullRepositoryObject
      extended by org.xiruss.snapcm.api.NullSnapshot
All Implemented Interfaces:
RepositoryObject, Snapshot
Direct Known Subclasses:
NullMutableSnapshot

public class NullSnapshot
extends NullRepositoryObject
implements Snapshot


Constructor Summary
NullSnapshot()
           
 
Method Summary
 void checkIsNotFixed()
          Throws an exception is the snapshot is fixed.
 Branch getBranch()
           
 VersionByResourceMap getCreatedVersions()
           
 VersionByResourceMap getEffectiveVersions()
          Returns a copy of the effective versions map.
 VersionByResourceMap getExcludedVersions()
          Returns a copy of the excluded versions map.
 Snapshot getNext()
          Returns the snapshot that follows this one on the branch, if any.
 Snapshot getPrevious()
          Returns the previous snapshot on the snapshot's branch, if any.
 int getType()
           
 Version getVersion(Resource res)
          Given a resource, returns the version of that resource that has been created on or is effective on the snapshot.
 Version getVersionById(java.lang.String verKey)
           
 VersionMap getVersionsByPropertyValue(java.lang.String propertyName, java.lang.Object testValue)
          Returns the set of versions that exhibit the specified value for the specified property.
 VersionByResourceMap getVersionsByResource()
           
 long getVisibleVersionCount()
          Returns the number of versions that are visible on the snapshot.
 VersionByResourceMap getVisibleVersions()
          Returns a map of the versions visible on this snapshot.
 void initialize(MutableSnapshot baseSnapshot, java.lang.String objId, java.util.Date commitTime)
          Initialize a mutable or immutable snapshot using an existing snapshot as the base.
 void initialize(Repository rep, java.lang.String objId, java.lang.String name)
          Initialize the object with the specified object ID and name.
 boolean isFixed()
          If true, indicates that the snapshot is fixed and committed to the repository.
 boolean resourceIsVisible(Resource res)
           
 void setId(java.lang.String id)
          Sets the ID on a newly-created repository object.
 Snapshot setNext(Snapshot nextSnapshot)
           
 boolean versionIsVisible(java.lang.String versionId)
          Returns true if the specified version is visible on the snapshot, meaning that it is a created or effective version.
 boolean versionIsVisible(Version ver)
          Returns true if the specified version is visible on the snapshot, meaning that it is a created or effective version.
 
Methods inherited from class org.xiruss.snapcm.api.NullRepositoryObject
accept, compareTo, getId, getName, getProperties, getProperty, getPropertyNames, getRepository, hasProperty, isNull, setName, setProperty
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.xiruss.snapcm.api.RepositoryObject
accept, compareTo, getId, getName, getProperties, getProperty, getPropertyNames, getRepository, hasProperty, isNull, setName, setProperty, toString
 

Constructor Detail

NullSnapshot

public NullSnapshot()
Method Detail

setNext

public Snapshot setNext(Snapshot nextSnapshot)
Specified by:
setNext in interface Snapshot

getPrevious

public Snapshot getPrevious()
Description copied from interface: Snapshot
Returns the previous snapshot on the snapshot's branch, if any.

Specified by:
getPrevious in interface Snapshot
Returns:
The previous snapshot, or null if this is the first snapshot.

getVersion

public Version getVersion(Resource res)
Description copied from interface: Snapshot
Given a resource, returns the version of that resource that has been created on or is effective on the snapshot. If the version is either explicitly excluded or simply not on the snapshot, returns null.

Specified by:
getVersion in interface Snapshot
Returns:

checkIsNotFixed

public void checkIsNotFixed()
                     throws ObjectMutationException
Description copied from interface: Snapshot
Throws an exception is the snapshot is fixed. A snapshot becomes "fixed" (immutable) when it is committed to the repository. Before that time the snapshot and any created versions on it may be mutated without restriction.

Specified by:
checkIsNotFixed in interface Snapshot
Throws:
ObjectMutationException

getVersionsByPropertyValue

public VersionMap getVersionsByPropertyValue(java.lang.String propertyName,
                                             java.lang.Object testValue)
Description copied from interface: Snapshot
Returns the set of versions that exhibit the specified value for the specified property.

Specified by:
getVersionsByPropertyValue in interface Snapshot
Parameters:
propertyName - The name of the property to check.
testValue - The property value to check for.
Returns:
The set of versions that exhibit the property and value.

getVisibleVersions

public VersionByResourceMap getVisibleVersions()
Description copied from interface: Snapshot
Returns a map of the versions visible on this snapshot.

Specified by:
getVisibleVersions in interface Snapshot

isFixed

public boolean isFixed()
Description copied from interface: Snapshot
If true, indicates that the snapshot is fixed and committed to the repository.

Specified by:
isFixed in interface Snapshot
Returns:

getVersionById

public Version getVersionById(java.lang.String verKey)
Specified by:
getVersionById in interface Snapshot
Parameters:
verKey - String key for a version
Returns:
The version, if visible on the snapshot, otherwise null.

getBranch

public Branch getBranch()
Specified by:
getBranch in interface Snapshot

getNext

public Snapshot getNext()
Description copied from interface: Snapshot
Returns the snapshot that follows this one on the branch, if any.

Specified by:
getNext in interface Snapshot
Returns:
The next snapshot, or null if this is the last snapshot on the branch.

getCreatedVersions

public VersionByResourceMap getCreatedVersions()
Specified by:
getCreatedVersions in interface Snapshot
Returns:

getEffectiveVersions

public VersionByResourceMap getEffectiveVersions()
Description copied from interface: Snapshot
Returns a copy of the effective versions map. Effective versions are versions that were created on another snapshot and simply made visible on this snapshot. By default, when a new snapshot is created, all the versions of all the resources visible on the previous snapshot become effective versions of this snapshot.

Specified by:
getEffectiveVersions in interface Snapshot
Returns:

getExcludedVersions

public VersionByResourceMap getExcludedVersions()
Description copied from interface: Snapshot
Returns a copy of the excluded versions map. Excluded versions are versions that were initially effective on this snapshot (see getEffectiveVersions) but where then marked as excluded from this snapshot, making them (and therefore their associated resources) no longer visible. Excluded versions will not be automatically made effective on the next snapshot in the branch. Versions that have been excluded can, of course, be re-added to subsequence snapshots on the branch.

Specified by:
getExcludedVersions in interface Snapshot
Returns:

versionIsVisible

public boolean versionIsVisible(java.lang.String versionId)
Description copied from interface: Snapshot
Returns true if the specified version is visible on the snapshot, meaning that it is a created or effective version.

Specified by:
versionIsVisible in interface Snapshot
Parameters:
versionId - ID of the version to check for
Returns:
True if the version is visible.

versionIsVisible

public boolean versionIsVisible(Version ver)
Description copied from interface: Snapshot
Returns true if the specified version is visible on the snapshot, meaning that it is a created or effective version.

Specified by:
versionIsVisible in interface Snapshot
Parameters:
ver - The version to check for
Returns:
True if the version is visible.

resourceIsVisible

public boolean resourceIsVisible(Resource res)
Specified by:
resourceIsVisible in interface Snapshot

getVisibleVersionCount

public long getVisibleVersionCount()
Description copied from interface: Snapshot
Returns the number of versions that are visible on the snapshot.

Specified by:
getVisibleVersionCount in interface Snapshot
Returns:

getVersionsByResource

public VersionByResourceMap getVersionsByResource()
Specified by:
getVersionsByResource in interface Snapshot

initialize

public void initialize(Repository rep,
                       java.lang.String objId,
                       java.lang.String name)
                throws ObjectMutationException
Description copied from interface: RepositoryObject
Initialize the object with the specified object ID and name. This method is for the benefit of repositories that need to construct new objects using no-argument constructors.

Specified by:
initialize in interface RepositoryObject
Overrides:
initialize in class NullRepositoryObject
Throws:
ObjectMutationException - If object already has an assigned ID, indicating that is has already been constructed.

setId

public void setId(java.lang.String id)
           throws ObjectMutationException
Description copied from interface: RepositoryObject
Sets the ID on a newly-created repository object. This is write-once property.

Specified by:
setId in interface RepositoryObject
Overrides:
setId in class NullRepositoryObject
Parameters:
id - Object ID (assigned by the owning repository)
Throws:
ObjectMutationException - If object already has an assigned ID, indicating that is has already been constructed.

getType

public int getType()
Specified by:
getType in interface RepositoryObject
Overrides:
getType in class NullRepositoryObject
Returns:

initialize

public void initialize(MutableSnapshot baseSnapshot,
                       java.lang.String objId,
                       java.util.Date commitTime)
                throws ObjectMutationException
Description copied from interface: Snapshot
Initialize a mutable or immutable snapshot using an existing snapshot as the base.

Specified by:
initialize in interface Snapshot
Parameters:
baseSnapshot - Snapshot to use as the initialization source.
objId - Object ID of the newly-created snapshot.
Throws:
ObjectMutationException