org.alfresco.repo.avm
Class AVMRemoteLocal

java.lang.Object
  extended by org.alfresco.repo.avm.AVMRemoteLocal
All Implemented Interfaces:
AVMRemote

public class AVMRemoteLocal
extends java.lang.Object
implements AVMRemote

A loopback implementation of the AVMRemote interface?


Constructor Summary
AVMRemoteLocal()
          Default constructor.
 
Method Summary
 void addAspect(java.lang.String path, org.alfresco.service.namespace.QName aspectName)
          Add an aspect to an AVM node.
 void createBranch(int version, java.lang.String srcPath, java.lang.String dstPath, java.lang.String name)
          Create a branch from a given version and path.
 void createDirectory(java.lang.String path, java.lang.String name)
          Create a new directory.
 java.io.OutputStream createFile(java.lang.String path, java.lang.String name)
          Create a new "plain" (non-layered) file within a path.
 void createLayeredDirectory(java.lang.String targetPath, java.lang.String parent, java.lang.String name)
          Create a new layered directory.
 void createLayeredFile(java.lang.String targetPath, java.lang.String parent, java.lang.String name)
          Create a new layered file.
 java.util.Map createSnapshot(java.lang.String store, java.lang.String label, java.lang.String comment)
          Snapshot the given AVMStore.
 void createStore(java.lang.String name)
          Create a new AVMStore.
 void deleteNodeProperties(java.lang.String path)
          Delete all the properties attached to an AVM node.
 void deleteNodeProperty(java.lang.String path, org.alfresco.service.namespace.QName name)
          Delete a property.
 void deleteStoreProperty(java.lang.String store, org.alfresco.service.namespace.QName name)
          Delete a property on a store by name.
 org.alfresco.util.Pair getAPath(AVMNodeDescriptor desc)
          Get a single valid path to a given node.
 java.util.Set getAspects(int version, java.lang.String path)
          Get all the aspects on an AVM node.
 AVMNodeDescriptor getCommonAncestor(AVMNodeDescriptor left, AVMNodeDescriptor right)
          Get the common ancestor of two nodes if a common ancestor exists.
 java.util.List getDeleted(int version, java.lang.String path)
          Non-recursively get the names of nodes that have been deleted in a directory identified by a version ID and a path
 java.util.SortedMap getDirectoryListing(AVMNodeDescriptor dir)
          Get a non-recursive directory listing of a directory node identified by a node descriptor.
 java.util.SortedMap getDirectoryListing(int version, java.lang.String path)
          Get a non-recursive listing of a directory identified by its version ID and path.
 java.util.SortedMap getDirectoryListingDirect(int version, java.lang.String path)
          Get a non-recursive listing of nodes contained by a directory identified by its version ID and path, but exclude all nodes that are only contained "indirectly" via layering.
 java.io.InputStream getFileInputStream(AVMNodeDescriptor desc)
          Get an InputStream for reading the contents of a file node identified by its descriptor.
 java.io.InputStream getFileInputStream(int version, java.lang.String path)
          Get an InputStream for reading the contents of a file identified by its version ID and AVM path.
 java.io.OutputStream getFileOutputStream(java.lang.String path)
          Get an output stream to write to a file identified by an AVM path.
 java.util.List getHistory(AVMNodeDescriptor desc, int count)
          Get a list of up to count nodes in the history chain of a node.
 java.lang.String getIndirectionPath(int version, java.lang.String path)
          Get the indirection path for a node in a layered context whether that indirection path is primary or non-primary (or seen via transparency).
 int getLatestSnapshotID(java.lang.String storeName)
          Get the latest snapshot ID of a store.
 LayeringDescriptor getLayeringInfo(int version, java.lang.String path)
          Get layering information about a path.
 int getNextVersionID(java.lang.String storeName)
          Gets the ID that the next snapshotted version of a store will have.
 java.util.Map getNodeProperties(int version, java.lang.String path)
          Get all the properties associated with a node that is identified by a version ID and a path.
 PropertyValue getNodeProperty(int version, java.lang.String path, org.alfresco.service.namespace.QName name)
          Get a property of a node by QName.
 AVMStoreDescriptor getStore(java.lang.String name)
          Get a descriptor for an AVMStore.
 java.util.Map getStoreProperties(java.lang.String store)
          Get all the properties associated with a store.
 PropertyValue getStoreProperty(java.lang.String store, org.alfresco.service.namespace.QName name)
          Get a property from a store.
 AVMNodeDescriptor getStoreRoot(int version, java.lang.String name)
          A convenience method for getting the specified root directory of an AVMStore (e.g.: "mysite:/").
 java.util.List getStores()
          Get the descriptors of all AVMStores in the repository.
 java.util.List getStoreVersions(java.lang.String name)
          Get the set of versions in an AVMStore.
 java.util.List getStoreVersions(java.lang.String name, java.util.Date from, java.util.Date to)
          Get AVMStore version descriptors by creation date.
 boolean hasAspect(int version, java.lang.String path, org.alfresco.service.namespace.QName aspectName)
          Determines whether a node has a particular aspect.
 AVMNodeDescriptor lookup(AVMNodeDescriptor dir, java.lang.String name)
          Lookup a node identified by the directory node that contains it, and its name.
 AVMNodeDescriptor lookup(AVMNodeDescriptor dir, java.lang.String name, boolean includeDeleted)
          Lookup a node identified by the directory that contains it, and its name; optionally, the lookup can retrive the descriptor of a node even if it has been deleted from its containing directory.
 AVMNodeDescriptor lookup(int version, java.lang.String path)
          Lookup a node identified by version ID and path.
 AVMNodeDescriptor lookup(int version, java.lang.String path, boolean includeDeleted)
          Lookup a node identified by version ID and path; optionally, if the node is deleted, its descriptor can still be retrieved.
 void makePrimary(java.lang.String path)
          Make a directory into a primary indirection node.
 void purgeStore(java.lang.String name)
          Purge an AVMStore.
 void purgeVersion(int version, java.lang.String name)
          Purge a version from an AVMStore.
 java.util.Map queryStorePropertyKey(java.lang.String store, org.alfresco.service.namespace.QName keyPattern)
          Queries a given store for properties with keys that match a given pattern.
 java.util.Map queryStoresPropertyKey(org.alfresco.service.namespace.QName keyPattern)
          Queries a given store for properties with keys that match a given pattern.
 void removeAspect(java.lang.String path, org.alfresco.service.namespace.QName aspectName)
          Remove an aspect and its properties from a node.
 void removeNode(java.lang.String parent, java.lang.String name)
          Remove a file or directory from its parent directory.
 void rename(java.lang.String srcParent, java.lang.String srcName, java.lang.String dstParent, java.lang.String dstName)
          Rename a file or directory.
 void renameStore(java.lang.String sourceName, java.lang.String destName)
          Rename a store.
 void retargetLayeredDirectory(java.lang.String path, java.lang.String target)
          Retarget a layered directory.
 void revert(java.lang.String path, AVMNodeDescriptor toRevertTo)
          Revert a HEAD path to a given version.
 void setAvmService(AVMService service)
          Setter for the AVMService instance.
 void setEncoding(java.lang.String path, java.lang.String encoding)
          Set the encoding.
 void setGuid(java.lang.String path, java.lang.String guid)
          Set the GUID on a node.
 void setMimeType(java.lang.String path, java.lang.String mimeType)
          Set the mime type.
 void setNodeProperties(java.lang.String path, java.util.Map properties)
          Set a collection of properties on a node.
 void setNodeProperty(java.lang.String path, org.alfresco.service.namespace.QName name, PropertyValue value)
          Set a property on a node.
 void setOpacity(java.lang.String path, boolean opacity)
          Set the opacity of a layered directory.
 void setStoreProperties(java.lang.String store, java.util.Map props)
          Set a group of properties on a store.
 void setStoreProperty(java.lang.String store, org.alfresco.service.namespace.QName name, PropertyValue value)
          Set a property on a store.
 void uncover(java.lang.String dirPath, java.lang.String name)
          If a layered directory dirPath has a deleted entry of the given name, remove that name from the deleted list, so that if a layer below it contains an entry of this name, it can be seen via transparency from dirPath.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AVMRemoteLocal

public AVMRemoteLocal()
Default constructor.

Method Detail

setAvmService

public void setAvmService(AVMService service)
Setter for the AVMService instance.


createStore

public void createStore(java.lang.String name)
Description copied from interface: AVMRemote
Create a new AVMStore. All stores are top level objects within the AVM repository. The AVM is a forest of versioned trees; each versioned tree is contained within a AVM store with a unique name. If a store is removed via purgeStore, the name of the deleted store can be reused in a later call to createStore.

The store name must be non-null, cannot be the empty string, and must not contain characters that are illegal in normal file names.

Specified by:
createStore in interface AVMRemote
Parameters:
name - The name of the new AVMStore.

createBranch

public void createBranch(int version,
                         java.lang.String srcPath,
                         java.lang.String dstPath,
                         java.lang.String name)
Description copied from interface: AVMRemote
Create a branch from a given version and path. As a side effect, an automatic snapshot is taken of the store that contains the node that is being branched from.

Specified by:
createBranch in interface AVMRemote
Parameters:
version - The version number from which to make the branch.
srcPath - The path to the node to branch from.
dstPath - The path to the directory to contain the new branch.
name - The name to give the new branch.

createDirectory

public void createDirectory(java.lang.String path,
                            java.lang.String name)
Description copied from interface: AVMRemote
Create a new directory. If path is within a layer, the new directory will be a layered directory; otherwise, the new directory will be a plain directory.

Specified by:
createDirectory in interface AVMRemote
Parameters:
path - The simple absolute path to the parent.
name - The name to give the directory.

createFile

public java.io.OutputStream createFile(java.lang.String path,
                                       java.lang.String name)
Description copied from interface: AVMRemote
Create a new "plain" (non-layered) file within a path. This function fails if the file already exists, or if the directory identified by path does not exist.

Specified by:
createFile in interface AVMRemote
Parameters:
path - The path of the directory containing the created file.
name - The name of the new file
Returns:
An opaque handle to a server side output stream.

createLayeredDirectory

public void createLayeredDirectory(java.lang.String targetPath,
                                   java.lang.String parent,
                                   java.lang.String name)
Description copied from interface: AVMRemote
Create a new layered directory. In whatever context this is created, this will be a layered directory that has a primary indirection.

Note: a "primary" indirection is one in which the target is explicitly set; "non-primary" indirect nodes compute their effective target dynamically on the basis of their relative position to the closest "primary" indirect node that contains them. Therefore, changing the target of a "primary" layered directory node immediately alters the indirection targets computed by the "non-primary" layered nodes it contains.

Note: the target of the indirection does not need to exist at the time the layered directory node is created.

Specified by:
createLayeredDirectory in interface AVMRemote
Parameters:
targetPath - The absolute path to the underlying directory that the layered directory being created will point at.
parent - The absolute path to directory containing the layered directory being created.
name - The name of the layered directory being created

createLayeredFile

public void createLayeredFile(java.lang.String targetPath,
                              java.lang.String parent,
                              java.lang.String name)
Description copied from interface: AVMRemote
Create a new layered file.

Note: the target of the indirection does not need to exist at the time the layered file node is created.

Specified by:
createLayeredFile in interface AVMRemote
Parameters:
targetPath - The absolute path of the underlying file being pointed at
parent - The absolute path of the directory containing layered file to be created
name - The name of the layered file to be created

createSnapshot

public java.util.Map createSnapshot(java.lang.String store,
                                    java.lang.String label,
                                    java.lang.String comment)
Description copied from interface: AVMRemote
Snapshot the given AVMStore. When files have been modified since the previous snapshot, a new snapshot version is created; otherwise, no extra snapshot is actually taken.

When no snapshot is actually taken, but either 'tag' or 'store' are non-null, they will override the value for the last snapshot (i.e.: the old values will be discarded); however, if both 'tag' and 'description' are null then invoking createSnapshot when no files have been modified becomes a true no-op.

Specified by:
createSnapshot in interface AVMRemote
Parameters:
store - The name of the AVMStore to snapshot.
label - The short description.
comment - The thick description.
Returns:
A Map of all implicitly or explicitly snapshotted stores to last version id.

deleteNodeProperties

public void deleteNodeProperties(java.lang.String path)
Description copied from interface: AVMRemote
Delete all the properties attached to an AVM node.

Note: to remove an apsect, see: removeAspect

Specified by:
deleteNodeProperties in interface AVMRemote
Parameters:
path - The path to the node.

deleteNodeProperty

public void deleteNodeProperty(java.lang.String path,
                               org.alfresco.service.namespace.QName name)
Description copied from interface: AVMRemote
Delete a property.

Note: to remove an apsect, see: removeAspect

Specified by:
deleteNodeProperty in interface AVMRemote
Parameters:
path - The path to the node.
name - The QName of the property to delete.

deleteStoreProperty

public void deleteStoreProperty(java.lang.String store,
                                org.alfresco.service.namespace.QName name)
Description copied from interface: AVMRemote
Delete a property on a store by name.

Note: to remove an apsect, see: removeAspect

Specified by:
deleteStoreProperty in interface AVMRemote
Parameters:
store - The name of the store.
name - The name of the property to delete.

getStore

public AVMStoreDescriptor getStore(java.lang.String name)
Description copied from interface: AVMRemote
Get a descriptor for an AVMStore.

Specified by:
getStore in interface AVMRemote
Parameters:
name - The AVMStore's name.
Returns:
A Descriptor, or null if not found.

getStoreRoot

public AVMNodeDescriptor getStoreRoot(int version,
                                      java.lang.String name)
Description copied from interface: AVMRemote
A convenience method for getting the specified root directory of an AVMStore (e.g.: "mysite:/").

Specified by:
getStoreRoot in interface AVMRemote
Parameters:
version - The version to look up.
name - The name of the AVMStore.
Returns:
A descriptor for the specified root.

getStoreVersions

public java.util.List getStoreVersions(java.lang.String name)
Description copied from interface: AVMRemote
Get the set of versions in an AVMStore. The version ID values within this list will always be may appear out of order, and may contain missing values (due to the possibility that purgeStore operations have been performed). Because the number of versions that a store can contain may become large, this call can be a resource-intensive, and may even causing Out of Memory exceptions.

Specified by:
getStoreVersions in interface AVMRemote
Parameters:
name - The name of the AVMStore.
Returns:
A Set of version descriptors.

getStoreVersions

public java.util.List getStoreVersions(java.lang.String name,
                                       java.util.Date from,
                                       java.util.Date to)
Description copied from interface: AVMRemote
Get AVMStore version descriptors by creation date. Either from or to can be null but not both.

The order of the values returned is not guaranteed, nor are the version IDs necessarily free of "missing" values (due to the possibility that purgeStore operations have been performed).

Note: for portability, all dates are stored as 64-bit longs, with a time resolution of one millisecond. Therefore, aliasing/wrapping are not a concern unless you need to plan 292.4 million years ahead. If so, please contact your system administrator.

Specified by:
getStoreVersions in interface AVMRemote
Parameters:
name - The name of the AVMStore.
from - Earliest date of version to include.
to - Latest date of version to include.
Returns:
The Set of version descriptors that match.

getStores

public java.util.List getStores()
Description copied from interface: AVMRemote
Get the descriptors of all AVMStores in the repository.

Specified by:
getStores in interface AVMRemote
Returns:
A List of all AVMStores.

getCommonAncestor

public AVMNodeDescriptor getCommonAncestor(AVMNodeDescriptor left,
                                           AVMNodeDescriptor right)
Description copied from interface: AVMRemote
Get the common ancestor of two nodes if a common ancestor exists. This function is useful for detecting and merging conflicts.

Specified by:
getCommonAncestor in interface AVMRemote
Parameters:
left - The first node.
right - The second node.
Returns:
The common ancestor. There are four possible results. Null means that there is no common ancestor. Left returned means that left is strictly an ancestor of right. Right returned means that right is strictly an ancestor of left. Any other non null return is the common ancestor and indicates that left and right are in conflict.

getDeleted

public java.util.List getDeleted(int version,
                                 java.lang.String path)
Description copied from interface: AVMRemote
Non-recursively get the names of nodes that have been deleted in a directory identified by a version ID and a path

Specified by:
getDeleted in interface AVMRemote
Parameters:
version - The version to look under.
path - The path of the directory.
Returns:
A List of names.

getDirectoryListing

public java.util.SortedMap getDirectoryListing(int version,
                                               java.lang.String path)
Description copied from interface: AVMRemote
Get a non-recursive listing of a directory identified by its version ID and path. If path does not refer to a directory node, AVMWrongTypeException is thrown.

Specified by:
getDirectoryListing in interface AVMRemote
Parameters:
version - The version ID to look in.
path - The absolute AVM path to the file.
Returns:
A Map of names to descriptors.

getDirectoryListing

public java.util.SortedMap getDirectoryListing(AVMNodeDescriptor dir)
Description copied from interface: AVMRemote
Get a non-recursive directory listing of a directory node identified by a node descriptor.

Specified by:
getDirectoryListing in interface AVMRemote
Parameters:
dir - The directory node descriptor.
Returns:
A sorted Map of names to node descriptors.

getDirectoryListingDirect

public java.util.SortedMap getDirectoryListingDirect(int version,
                                                     java.lang.String path)
Description copied from interface: AVMRemote
Get a non-recursive listing of nodes contained by a directory identified by its version ID and path, but exclude all nodes that are only contained "indirectly" via layering.

If this function is called on a "plain" (non-layered) directory, it is equivalent to getDirectoryListing.

Specified by:
getDirectoryListingDirect in interface AVMRemote
Parameters:
version - The version to look up.
path - The full path to get listing for.
Returns:
A Map of names to descriptors.

getFileInputStream

public java.io.InputStream getFileInputStream(int version,
                                              java.lang.String path)
Description copied from interface: AVMRemote
Get an InputStream for reading the contents of a file identified by its version ID and AVM path. This method can be used for either plain or layered files.

Specified by:
getFileInputStream in interface AVMRemote
Parameters:
version - The version ID to look in.
path - The absolute path to the file.
Returns:
An InputStream for the designated file.

getFileInputStream

public java.io.InputStream getFileInputStream(AVMNodeDescriptor desc)
Description copied from interface: AVMRemote
Get an InputStream for reading the contents of a file node identified by its descriptor. This method can be used for either plain or layered files.

Specified by:
getFileInputStream in interface AVMRemote
Parameters:
desc - The descriptor.
Returns:
An InputStream.

getFileOutputStream

public java.io.OutputStream getFileOutputStream(java.lang.String path)
Description copied from interface: AVMRemote
Get an output stream to write to a file identified by an AVM path. This file must already exist. This method can be used for either plain or layered files. To create a plain file, see: createFile. To create a layered file, see: createLayeredFile.

Specified by:
getFileOutputStream in interface AVMRemote
Parameters:
path - The absolute path to the file.

getHistory

public java.util.List getHistory(AVMNodeDescriptor desc,
                                 int count)
Description copied from interface: AVMRemote
Get a list of up to count nodes in the history chain of a node. The initial element of the list returned will be desc (as long as the count is non-zero).

Specified by:
getHistory in interface AVMRemote
Parameters:
desc - The descriptor for a node to find ancestors for.
count - maximum number of ancestors to return in the list (the value -1 means "no limit -- return them all")
Returns:
A List of ancestors starting with the most recent.

getIndirectionPath

public java.lang.String getIndirectionPath(int version,
                                           java.lang.String path)
Description copied from interface: AVMRemote
Get the indirection path for a node in a layered context whether that indirection path is primary or non-primary (or seen via transparency). If you call getIndirectionPath on a layered node, you'll fetch its explicitly set target; if you call this function on a non-primary indirection node or a node seen via transparency, you'll get back the path to the corresponding node in the underlying target.

For example, if "mysite--alice:/www" is a layered directory that targets "mysite:/www", and "mysite--alice" contains no content directly, then if the path path "mysite:/www/avm_webapps/ROOT/x/y/z" is valid, calling getIndirectionPath on "mysite--alice:/www/avm_webapps/ROOT/x/y/z" will yield "mysite:/www/avm_webapps/ROOT/x/y/z".

Specified by:
getIndirectionPath in interface AVMRemote
Parameters:
version - The version number to get.
path - The path to the node of interest.
Returns:
The indirection path, or null if the path is not in a layered context.

getLatestSnapshotID

public int getLatestSnapshotID(java.lang.String storeName)
Description copied from interface: AVMRemote
Get the latest snapshot ID of a store. Note: All stores have at least one snapshot ID: 0; this is the "empty" snapshot taken when the store is first created.

Specified by:
getLatestSnapshotID in interface AVMRemote
Parameters:
storeName - The store name.
Returns:
The ID of the latest extant version of the store.

getNextVersionID

public int getNextVersionID(java.lang.String storeName)
Description copied from interface: AVMRemote
Gets the ID that the next snapshotted version of a store will have.

Note: unless the operations that require this value to be valid are performed within a transaction, this value can become "stale".

Specified by:
getNextVersionID in interface AVMRemote
Parameters:
storeName - The name of the AVMStore.
Returns:
The next version ID of the AVMStore.

getLayeringInfo

public LayeringDescriptor getLayeringInfo(int version,
                                          java.lang.String path)
Description copied from interface: AVMRemote
Get layering information about a path. The LayeringDescriptor returned can be used to determine whether a node is in the background (and if so, which AVM store contains it directly), or if it is directly contained by the AVM store referenced by path.

Specified by:
getLayeringInfo in interface AVMRemote
Parameters:
version - The version to look under.
path - The absolute AVM path.
Returns:
A LayeringDescriptor.

getNodeProperties

public java.util.Map getNodeProperties(int version,
                                       java.lang.String path)
Description copied from interface: AVMRemote
Get all the properties associated with a node that is identified by a version ID and a path.

Specified by:
getNodeProperties in interface AVMRemote
Parameters:
version - The version to look under.
path - The path to the node.
Returns:
A Map of QNames to PropertyValues.

getNodeProperty

public PropertyValue getNodeProperty(int version,
                                     java.lang.String path,
                                     org.alfresco.service.namespace.QName name)
Description copied from interface: AVMRemote
Get a property of a node by QName.

Specified by:
getNodeProperty in interface AVMRemote
Parameters:
version - The version to look under.
path - The path to the node.
name - The QName.
Returns:
The PropertyValue or null if it doesn't exist.

getStoreProperties

public java.util.Map getStoreProperties(java.lang.String store)
Description copied from interface: AVMRemote
Get all the properties associated with a store.

Specified by:
getStoreProperties in interface AVMRemote
Parameters:
store - The name of the store.
Returns:
A Map of the stores properties.

getStoreProperty

public PropertyValue getStoreProperty(java.lang.String store,
                                      org.alfresco.service.namespace.QName name)
Description copied from interface: AVMRemote
Get a property from a store.

Specified by:
getStoreProperty in interface AVMRemote
Parameters:
store - The name of the store.
name - The name of the property.
Returns:
A PropertyValue or null if non-existent.

lookup

public AVMNodeDescriptor lookup(int version,
                                java.lang.String path)
Description copied from interface: AVMRemote
Lookup a node identified by version ID and path.

Specified by:
lookup in interface AVMRemote
Parameters:
version - The version ID to look under.
path - The simple absolute path to the parent directory.
Returns:
An AVMNodeDescriptor, or null if the node does not exist.

lookup

public AVMNodeDescriptor lookup(int version,
                                java.lang.String path,
                                boolean includeDeleted)
Description copied from interface: AVMRemote
Lookup a node identified by version ID and path; optionally, if the node is deleted, its descriptor can still be retrieved.

Specified by:
lookup in interface AVMRemote
Parameters:
version - The version ID to look under.
path - The simple absolute path to the parent directory.
includeDeleted - Whether to allow a deleted node to be retrieved
Returns:
An AVMNodeDescriptor, or null if the version does not exist.

lookup

public AVMNodeDescriptor lookup(AVMNodeDescriptor dir,
                                java.lang.String name)
Description copied from interface: AVMRemote
Lookup a node identified by the directory node that contains it, and its name.

Specified by:
lookup in interface AVMRemote
Parameters:
dir - The descriptor for the directory node.
name - The name to lookup.
Returns:
The descriptor for the child.

lookup

public AVMNodeDescriptor lookup(AVMNodeDescriptor dir,
                                java.lang.String name,
                                boolean includeDeleted)
Description copied from interface: AVMRemote
Lookup a node identified by the directory that contains it, and its name; optionally, the lookup can retrive the descriptor of a node even if it has been deleted from its containing directory.

Specified by:
lookup in interface AVMRemote
Parameters:
dir - The descriptor for the directory node.
name - The name to lookup.
includeDeleted - Whether to allow a deleted node to be retrieved via the lookup
Returns:
The descriptor for the child, null if the child doesn't exist.

makePrimary

public void makePrimary(java.lang.String path)
Description copied from interface: AVMRemote
Make a directory into a primary indirection node.

Specified by:
makePrimary in interface AVMRemote
Parameters:
path - The full path.

purgeStore

public void purgeStore(java.lang.String name)
Description copied from interface: AVMRemote
Purge an AVMStore. This completely removes an AVMStore.

Note: while the store being purged disappears from view immediately, any nodes that become unreachable as a result are deleted asynchronously.

Specified by:
purgeStore in interface AVMRemote
Parameters:
name - The name of the AVMStore.

purgeVersion

public void purgeVersion(int version,
                         java.lang.String name)
Description copied from interface: AVMRemote
Purge a version from an AVMStore. Deletes everything that lives in the given version only.

Specified by:
purgeVersion in interface AVMRemote
Parameters:
version - The version to purge.
name - The name of the AVMStore from which to purge it.

queryStorePropertyKey

public java.util.Map queryStorePropertyKey(java.lang.String store,
                                           org.alfresco.service.namespace.QName keyPattern)
Description copied from interface: AVMRemote
Queries a given store for properties with keys that match a given pattern.

Specified by:
queryStorePropertyKey in interface AVMRemote
Parameters:
store - The name of the store.
keyPattern - The sql 'like' pattern, inserted into a QName.
Returns:
A Map of the matching key value pairs.

queryStoresPropertyKey

public java.util.Map queryStoresPropertyKey(org.alfresco.service.namespace.QName keyPattern)
Description copied from interface: AVMRemote
Queries a given store for properties with keys that match a given pattern.

Specified by:
queryStoresPropertyKey in interface AVMRemote
Parameters:
keyPattern - The sql 'like' pattern, inserted into a QName.
Returns:
A Map of the matching key value pairs.

removeNode

public void removeNode(java.lang.String parent,
                       java.lang.String name)
Description copied from interface: AVMRemote
Remove a file or directory from its parent directory. In a layered context, the newly deleted node will hide a file of the same name in the corresponding layer below.

If instead you want to make the file in the lower layer visible via transparency, see: uncover. If you want to perform a removal and an uncover operation atomically, see: makeTransparent.

Caution: this removes directories even if they are not empty.

Note: developers of records management systems must also be aware that the AVMNode corresponding to the parent directory and name provided might still be accessible via different path lookups after this function has completed; this because branching and versioning operations create manifestations of nodes in a manner that is similar to a UNIX hard link. If you need to discover every possible path that could retrieve the associated AVMNode, see: getPaths, getHeadPaths, and getPathsInStoreHead.

Specified by:
removeNode in interface AVMRemote
Parameters:
parent - The absolute path to the parent directory.
name - The name of the child to remove.

rename

public void rename(java.lang.String srcParent,
                   java.lang.String srcName,
                   java.lang.String dstParent,
                   java.lang.String dstName)
Description copied from interface: AVMRemote
Rename a file or directory. There are a number of things to note about the interaction of rename and layering:

Note: if instead you want to rename an AVM store, see renameStore.

Specified by:
rename in interface AVMRemote
Parameters:
srcParent - The absolute path to the parent directory.
srcName - The name of the node in the src directory.
dstParent - The absolute path to the destination directory.
dstName - The name that the node will have in the destination directory.

retargetLayeredDirectory

public void retargetLayeredDirectory(java.lang.String path,
                                     java.lang.String target)
Description copied from interface: AVMRemote
Retarget a layered directory. Change the target pointed to by a layered directory node. This has the side effect of making the layered directory a primary indirection if the layered directory's indirection was "non-primary".

Specified by:
retargetLayeredDirectory in interface AVMRemote
Parameters:
path - Path to the layered directory.
target - The new indirection target of the layered directory

setNodeProperties

public void setNodeProperties(java.lang.String path,
                              java.util.Map properties)
Description copied from interface: AVMRemote
Set a collection of properties on a node.

Specified by:
setNodeProperties in interface AVMRemote
Parameters:
path - The path to the node.
properties - The Map of properties to set.

setNodeProperty

public void setNodeProperty(java.lang.String path,
                            org.alfresco.service.namespace.QName name,
                            PropertyValue value)
Description copied from interface: AVMRemote
Set a property on a node.

Specified by:
setNodeProperty in interface AVMRemote
Parameters:
path - The path to the node to set the property on.
name - The QName of the property.
value - The property to set.

setOpacity

public void setOpacity(java.lang.String path,
                       boolean opacity)
Description copied from interface: AVMRemote
Set the opacity of a layered directory. An opaque layered directory hides the contents of its indirection.

Specified by:
setOpacity in interface AVMRemote
Parameters:
path - The path to the layered directory.

setStoreProperties

public void setStoreProperties(java.lang.String store,
                               java.util.Map props)
Description copied from interface: AVMRemote
Set a group of properties on a store. Existing properties will be overwritten.

Specified by:
setStoreProperties in interface AVMRemote
Parameters:
store - The name of the store.
props - A Map of the properties to set.

setStoreProperty

public void setStoreProperty(java.lang.String store,
                             org.alfresco.service.namespace.QName name,
                             PropertyValue value)
Description copied from interface: AVMRemote
Set a property on a store. If the property exists it will be overwritten.

Specified by:
setStoreProperty in interface AVMRemote
Parameters:
store - The store to set the property on.
name - The name of the property.
value - The value of the property.

uncover

public void uncover(java.lang.String dirPath,
                    java.lang.String name)
Description copied from interface: AVMRemote
If a layered directory dirPath has a deleted entry of the given name, remove that name from the deleted list, so that if a layer below it contains an entry of this name, it can be seen via transparency from dirPath.

Note: if you are looking for an atomic operation that first deletes an object, then performs an "uncover" operation to make it transparent, see makeTransparent.

Specified by:
uncover in interface AVMRemote
Parameters:
dirPath - The path to the layered directory.
name - The name to uncover.

renameStore

public void renameStore(java.lang.String sourceName,
                        java.lang.String destName)
Description copied from interface: AVMRemote
Rename a store.

Specified by:
renameStore in interface AVMRemote
Parameters:
sourceName - The original name.
destName - The new name.

addAspect

public void addAspect(java.lang.String path,
                      org.alfresco.service.namespace.QName aspectName)
Description copied from interface: AVMRemote
Add an aspect to an AVM node.

Specified by:
addAspect in interface AVMRemote
Parameters:
path - The path to the node.
aspectName - The QName of the aspect.

getAspects

public java.util.Set getAspects(int version,
                                java.lang.String path)
Description copied from interface: AVMRemote
Get all the aspects on an AVM node.

Specified by:
getAspects in interface AVMRemote
Parameters:
version - The version to look under.
path - The path to the node.
Returns:
A Set of the QNames of the aspects.

hasAspect

public boolean hasAspect(int version,
                         java.lang.String path,
                         org.alfresco.service.namespace.QName aspectName)
Description copied from interface: AVMRemote
Determines whether a node has a particular aspect.

Specified by:
hasAspect in interface AVMRemote
Parameters:
version - The version to look under.
path - The path to the node.
aspectName - The aspect name to check.
Returns:
Whether the given node has the given aspect.

removeAspect

public void removeAspect(java.lang.String path,
                         org.alfresco.service.namespace.QName aspectName)
Description copied from interface: AVMRemote
Remove an aspect and its properties from a node.

Specified by:
removeAspect in interface AVMRemote
Parameters:
path - The path to the node.
aspectName - The name of the aspect.

revert

public void revert(java.lang.String path,
                   AVMNodeDescriptor toRevertTo)
Description copied from interface: AVMRemote
Revert a HEAD path to a given version. This works by cloning the version to revert to, and then linking that new version into HEAD. The reverted version will have the previous HEAD version as ancestor.

Specified by:
revert in interface AVMRemote
Parameters:
path - The path to the node to revert.
toRevertTo - The descriptor of the version to revert to.

getAPath

public org.alfresco.util.Pair getAPath(AVMNodeDescriptor desc)
Description copied from interface: AVMRemote
Get a single valid path to a given node.

Specified by:
getAPath in interface AVMRemote
Parameters:
desc - The descriptor of the node to which a version and path will be fetched.
Returns:
version and path.

setGuid

public void setGuid(java.lang.String path,
                    java.lang.String guid)
Description copied from interface: AVMRemote
Set the GUID on a node. The GUID of a node uniquely identifies the state of a node, i.e. its content, metadata, and aspects.

Specified by:
setGuid in interface AVMRemote
Parameters:
path - The path to the node.
guid - The GUID to set.

setEncoding

public void setEncoding(java.lang.String path,
                        java.lang.String encoding)
Description copied from interface: AVMRemote
Set the encoding.

Specified by:
setEncoding in interface AVMRemote
Parameters:
path - The path of the file.
encoding - The encoding.

setMimeType

public void setMimeType(java.lang.String path,
                        java.lang.String mimeType)
Description copied from interface: AVMRemote
Set the mime type.

Specified by:
setMimeType in interface AVMRemote
Parameters:
path - The path of the file.
mimeType - The mime type.


Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.