Constructor and Description |
---|
AVMRemoteLocal()
Default constructor.
|
Modifier and Type | Method and Description |
---|---|
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 . |
public void setAvmService(AVMService service)
public void createStore(java.lang.String name)
AVMRemote
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.
createStore
in interface AVMRemote
name
- The name of the new AVMStore.public void createBranch(int version, java.lang.String srcPath, java.lang.String dstPath, java.lang.String name)
AVMRemote
createBranch
in interface AVMRemote
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.public void createDirectory(java.lang.String path, java.lang.String name)
AVMRemote
path
is within a layer, the new directory will be a layered directory;
otherwise, the new directory will be a plain directory.createDirectory
in interface AVMRemote
path
- The simple absolute path to the parent.name
- The name to give the directory.public java.io.OutputStream createFile(java.lang.String path, java.lang.String name)
AVMRemote
path
does not exist.createFile
in interface AVMRemote
path
- The path of the directory containing the created file.name
- The name of the new filepublic void createLayeredDirectory(java.lang.String targetPath, java.lang.String parent, java.lang.String name)
AVMRemote
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.
createLayeredDirectory
in interface AVMRemote
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 createdpublic void createLayeredFile(java.lang.String targetPath, java.lang.String parent, java.lang.String name)
AVMRemote
Note: the target of the indirection does not need to exist at the time the layered file node is created.
createLayeredFile
in interface AVMRemote
targetPath
- The absolute path of the underlying file being pointed atparent
- The absolute path of the directory containing layered file to be createdname
- The name of the layered file to be createdpublic java.util.Map createSnapshot(java.lang.String store, java.lang.String label, java.lang.String comment)
AVMRemote
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.
createSnapshot
in interface AVMRemote
store
- The name of the AVMStore to snapshot.label
- The short description.comment
- The thick description.public void deleteNodeProperties(java.lang.String path)
AVMRemote
Note: to remove an apsect, see: removeAspect
deleteNodeProperties
in interface AVMRemote
path
- The path to the node.public void deleteNodeProperty(java.lang.String path, org.alfresco.service.namespace.QName name)
AVMRemote
Note: to remove an apsect, see: removeAspect
deleteNodeProperty
in interface AVMRemote
path
- The path to the node.name
- The QName of the property to delete.public void deleteStoreProperty(java.lang.String store, org.alfresco.service.namespace.QName name)
AVMRemote
Note: to remove an apsect, see: removeAspect
deleteStoreProperty
in interface AVMRemote
store
- The name of the store.name
- The name of the property to delete.public AVMStoreDescriptor getStore(java.lang.String name)
AVMRemote
public AVMNodeDescriptor getStoreRoot(int version, java.lang.String name)
AVMRemote
"mysite:/"
).getStoreRoot
in interface AVMRemote
version
- The version to look up.name
- The name of the AVMStore.public java.util.List getStoreVersions(java.lang.String name)
AVMRemote
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.getStoreVersions
in interface AVMRemote
name
- The name of the AVMStore.public java.util.List getStoreVersions(java.lang.String name, java.util.Date from, java.util.Date to)
AVMRemote
from
or to
can be null but not both.
from
is null, all versions earlier than
to
will be returned.
to
is null, all versions later than
from
will be returned.
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.
getStoreVersions
in interface AVMRemote
name
- The name of the AVMStore.from
- Earliest date of version to include.to
- Latest date of version to include.public java.util.List getStores()
AVMRemote
public AVMNodeDescriptor getCommonAncestor(AVMNodeDescriptor left, AVMNodeDescriptor right)
AVMRemote
getCommonAncestor
in interface AVMRemote
left
- The first node.right
- The second node.public java.util.List getDeleted(int version, java.lang.String path)
AVMRemote
getDeleted
in interface AVMRemote
version
- The version to look under.path
- The path of the directory.public java.util.SortedMap getDirectoryListing(int version, java.lang.String path)
AVMRemote
path
does not refer to a directory
node, AVMWrongTypeException
is thrown.getDirectoryListing
in interface AVMRemote
version
- The version ID to look in.path
- The absolute AVM path to the file.public java.util.SortedMap getDirectoryListing(AVMNodeDescriptor dir)
AVMRemote
getDirectoryListing
in interface AVMRemote
dir
- The directory node descriptor.public java.util.SortedMap getDirectoryListingDirect(int version, java.lang.String path)
AVMRemote
If this function is called on a "plain" (non-layered) directory,
it is equivalent to
getDirectoryListing
.
getDirectoryListingDirect
in interface AVMRemote
version
- The version to look up.path
- The full path to get listing for.public java.io.InputStream getFileInputStream(int version, java.lang.String path)
AVMRemote
getFileInputStream
in interface AVMRemote
version
- The version ID to look in.path
- The absolute path to the file.public java.io.InputStream getFileInputStream(AVMNodeDescriptor desc)
AVMRemote
getFileInputStream
in interface AVMRemote
desc
- The descriptor.public java.io.OutputStream getFileOutputStream(java.lang.String path)
AVMRemote
createFile
.
To create a layered file, see:
createLayeredFile
.getFileOutputStream
in interface AVMRemote
path
- The absolute path to the file.public java.util.List getHistory(AVMNodeDescriptor desc, int count)
AVMRemote
desc
(as long as the count is non-zero).getHistory
in interface AVMRemote
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")public java.lang.String getIndirectionPath(int version, java.lang.String path)
AVMRemote
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".
getIndirectionPath
in interface AVMRemote
version
- The version number to get.path
- The path to the node of interest.public int getLatestSnapshotID(java.lang.String storeName)
AVMRemote
getLatestSnapshotID
in interface AVMRemote
storeName
- The store name.public int getNextVersionID(java.lang.String storeName)
AVMRemote
Note: unless the operations that require this value to be valid are performed within a transaction, this value can become "stale".
getNextVersionID
in interface AVMRemote
storeName
- The name of the AVMStore.public LayeringDescriptor getLayeringInfo(int version, java.lang.String path)
AVMRemote
path
.getLayeringInfo
in interface AVMRemote
version
- The version to look under.path
- The absolute AVM path.public java.util.Map getNodeProperties(int version, java.lang.String path)
AVMRemote
getNodeProperties
in interface AVMRemote
version
- The version to look under.path
- The path to the node.public PropertyValue getNodeProperty(int version, java.lang.String path, org.alfresco.service.namespace.QName name)
AVMRemote
getNodeProperty
in interface AVMRemote
version
- The version to look under.path
- The path to the node.name
- The QName.public java.util.Map getStoreProperties(java.lang.String store)
AVMRemote
getStoreProperties
in interface AVMRemote
store
- The name of the store.public PropertyValue getStoreProperty(java.lang.String store, org.alfresco.service.namespace.QName name)
AVMRemote
getStoreProperty
in interface AVMRemote
store
- The name of the store.name
- The name of the property.public AVMNodeDescriptor lookup(int version, java.lang.String path)
AVMRemote
public AVMNodeDescriptor lookup(int version, java.lang.String path, boolean includeDeleted)
AVMRemote
public AVMNodeDescriptor lookup(AVMNodeDescriptor dir, java.lang.String name)
AVMRemote
public AVMNodeDescriptor lookup(AVMNodeDescriptor dir, java.lang.String name, boolean includeDeleted)
AVMRemote
public void makePrimary(java.lang.String path)
AVMRemote
makePrimary
in interface AVMRemote
path
- The full path.public void purgeStore(java.lang.String name)
AVMRemote
Note: while the store being purged disappears from view immediately, any nodes that become unreachable as a result are deleted asynchronously.
purgeStore
in interface AVMRemote
name
- The name of the AVMStore.public void purgeVersion(int version, java.lang.String name)
AVMRemote
purgeVersion
in interface AVMRemote
version
- The version to purge.name
- The name of the AVMStore from which to purge it.public java.util.Map queryStorePropertyKey(java.lang.String store, org.alfresco.service.namespace.QName keyPattern)
AVMRemote
queryStorePropertyKey
in interface AVMRemote
store
- The name of the store.keyPattern
- The sql 'like' pattern, inserted into a QName.public java.util.Map queryStoresPropertyKey(org.alfresco.service.namespace.QName keyPattern)
AVMRemote
queryStoresPropertyKey
in interface AVMRemote
keyPattern
- The sql 'like' pattern, inserted into a QName.public void removeNode(java.lang.String parent, java.lang.String name)
AVMRemote
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
.
removeNode
in interface AVMRemote
parent
- The absolute path to the parent directory.name
- The name of the child to remove.public void rename(java.lang.String srcParent, java.lang.String srcName, java.lang.String dstParent, java.lang.String dstName)
AVMRemote
uncover
operation is performed afterwards).
Note: if instead you want to rename an AVM store, see
renameStore
.
public void retargetLayeredDirectory(java.lang.String path, java.lang.String target)
AVMRemote
retargetLayeredDirectory
in interface AVMRemote
path
- Path to the layered directory.target
- The new indirection target of the layered directorypublic void setNodeProperties(java.lang.String path, java.util.Map properties)
AVMRemote
setNodeProperties
in interface AVMRemote
path
- The path to the node.properties
- The Map of properties to set.public void setNodeProperty(java.lang.String path, org.alfresco.service.namespace.QName name, PropertyValue value)
AVMRemote
setNodeProperty
in interface AVMRemote
path
- The path to the node to set the property on.name
- The QName of the property.value
- The property to set.public void setOpacity(java.lang.String path, boolean opacity)
AVMRemote
setOpacity
in interface AVMRemote
path
- The path to the layered directory.public void setStoreProperties(java.lang.String store, java.util.Map props)
AVMRemote
setStoreProperties
in interface AVMRemote
store
- The name of the store.props
- A Map of the properties to set.public void setStoreProperty(java.lang.String store, org.alfresco.service.namespace.QName name, PropertyValue value)
AVMRemote
setStoreProperty
in interface AVMRemote
store
- The store to set the property on.name
- The name of the property.value
- The value of the property.public void uncover(java.lang.String dirPath, java.lang.String name)
AVMRemote
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
.
public void renameStore(java.lang.String sourceName, java.lang.String destName)
AVMRemote
renameStore
in interface AVMRemote
sourceName
- The original name.destName
- The new name.public void addAspect(java.lang.String path, org.alfresco.service.namespace.QName aspectName)
AVMRemote
public java.util.Set getAspects(int version, java.lang.String path)
AVMRemote
getAspects
in interface AVMRemote
version
- The version to look under.path
- The path to the node.public boolean hasAspect(int version, java.lang.String path, org.alfresco.service.namespace.QName aspectName)
AVMRemote
public void removeAspect(java.lang.String path, org.alfresco.service.namespace.QName aspectName)
AVMRemote
removeAspect
in interface AVMRemote
path
- The path to the node.aspectName
- The name of the aspect.public void revert(java.lang.String path, AVMNodeDescriptor toRevertTo)
AVMRemote
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.public org.alfresco.util.Pair getAPath(AVMNodeDescriptor desc)
AVMRemote
public void setGuid(java.lang.String path, java.lang.String guid)
AVMRemote
public void setEncoding(java.lang.String path, java.lang.String encoding)
AVMRemote
setEncoding
in interface AVMRemote
path
- The path of the file.encoding
- The encoding.public void setMimeType(java.lang.String path, java.lang.String mimeType)
AVMRemote
setMimeType
in interface AVMRemote
path
- The path of the file.mimeType
- The mime type.Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.