Package org.apache.jackrabbit.core.version

The versioning framework in jackrabbit consists of 3 layers.

See:
          Description

Interface Summary
InternalActivity This interface defines the internal activity.
InternalBaseline This interface defines the internal baseline.
InternalFreeze the base interface for nodes that were versioned and turned either into InternalFrozenNode or InteralFrozenVersionHistory.
InternalFrozenNode The InternalFrozenNode interface represents the frozen node that was generated during a Node.checkin().
InternalFrozenVersionHistory This interface defines a frozen versionable child node, that was created during a Node.checkin() with a OPV==Version node.
InternalVersion This interface defines the internal version.
InternalVersionHistory This interface defines the internal version history.
InternalVersionItem This interface defines the base for all internal versioning items.
InternalVersionManager This interface defines the version manager.
VersionSelector This Interface defines the version selector that needs to provide a version, given some hints and a version history.
 

Class Summary
DateVersionSelector This Class implements a version selector that selects a version by creation date.
InternalVersionManagerImpl This Class implements a VersionManager.
InternalVersionManagerImpl.DynamicESCFactory  
InternalXAVersionManager Implementation of a InternalVersionManager that works in an XA environment.
LabelVersionSelector This Class implements a version selector that selects a version by label.
NodeStateEx This Class provides some basic node operations directly on the node state.
VersionHistoryImpl Base implementation of the VersionHistory interface.
VersionHistoryInfo Simple data object that carries the identifiers of a version history node and the related root version node.
VersionImpl Base implementation of the Version interface.
VersionItemStateManager Spezialized SharedItemStateManager that filters out NodeReferences to non-versioning states.
VersionManagerImplBase The JCR Version Manager impementation is split in several classes in order to group related methods together.
VersionManagerImplConfig The JCR Version Manager impementation is split in several classes in order to group related methods together.
VersionManagerImplMerge The JCR Version Manager impementation is split in several classes in order to group related methods together.
VersionManagerImplRestore The JCR Version Manager impementation is split in several classes in order to group related methods together.
VersionSet This Class implements a version selector that is based on a set of verions.
 

Package org.apache.jackrabbit.core.version Description

The versioning framework in jackrabbit consists of 3 layers. A persistence layer, an application layer and an presentation layer.

The persistence layer uses a 'normal' workspace as storage. The storage can later be exchanged by a more scaleable one. The application layer operates on the persistent one and provides the internal view of the version storage. It is manifested through the InternalVersion and InternalVersionHistory objects. The internal versions are also mapped to the content and exposed through the API (i.e. the Version extends Node and can be inspected with normal Node methods). Furthermore the version store is also exposed below /jcr:system/jcr:versionStorage. The exact structure of it is not defined yet, so applications should not relay on it and rather use Node.getVersionHistory() to access a particular version history or use the search mechanisms to find the respective versions.

The presentation layer is managed by the VersionManager. it is responsible for mapping the version storage to the content.

Open issues:



Copyright © 2004-2010 The Apache Software Foundation. All Rights Reserved.