public class FileFolderServiceImpl extends AbstractBaseCopyService implements FileFolderService, Extensible
| Modifier and Type | Class and Description |
|---|---|
static class |
FileFolderServiceImpl.FileFolderServiceTraitImpl |
static class |
FileFolderServiceImpl.InvalidTypeException
Exception when the type is not a valid File or Folder type
|
AbstractBaseCopyService.AssociationCopyInfo| Constructor and Description |
|---|
FileFolderServiceImpl()
Default constructor
|
| Modifier and Type | Method and Description |
|---|---|
FileInfo |
copy(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef,
org.alfresco.service.cmr.repository.NodeRef targetParentRef,
String newName)
Copy a source file or folder.
|
FileInfo |
create(org.alfresco.service.cmr.repository.NodeRef parentNodeRef,
String name,
org.alfresco.service.namespace.QName typeQName)
Create a file or folder; or any valid node of type derived from file or folder.
|
FileInfo |
create(org.alfresco.service.cmr.repository.NodeRef parentNodeRef,
String name,
org.alfresco.service.namespace.QName typeQName,
org.alfresco.service.namespace.QName assocQName)
Create a file or folder; or any valid node of type derived from file or folder
|
void |
delete(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Delete a file or folder
|
boolean |
exists(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Check the validity of a node reference
|
FileInfo |
getFileInfo(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Get the file info (name, folder, etc) for the given node
|
org.alfresco.service.cmr.repository.NodeRef |
getLocalizedSibling(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Uses the cm:name of the given node and attempts to find a sibling node
with a more specific localized name.
|
List<String> |
getNameOnlyPath(org.alfresco.service.cmr.repository.NodeRef rootNodeRef,
org.alfresco.service.cmr.repository.NodeRef nodeRef)
Get the file or folder names from the root down to and including the node provided.
|
List<FileInfo> |
getNamePath(org.alfresco.service.cmr.repository.NodeRef rootNodeRef,
org.alfresco.service.cmr.repository.NodeRef nodeRef)
Get the file or folder information from the root down to and including the node provided.
|
org.alfresco.service.cmr.repository.ContentReader |
getReader(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Get the reader to the file represented by the node according to the File/Folder model.
|
<M extends Trait> |
getTrait(Class<? extends M> traitAPI) |
FileFolderServiceType |
getType(org.alfresco.service.namespace.QName typeQName)
Checks the type for whether it is a recognised file or folder type or is invalid for the FileFolderService.
|
org.alfresco.service.cmr.repository.ContentWriter |
getWriter(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Get the writer to the file represented by the node according to the File/Folder model.
|
void |
init() |
boolean |
isHidden(org.alfresco.service.cmr.repository.NodeRef nodeRef) |
boolean |
isPreserveAuditableData() |
List<FileInfo> |
list(org.alfresco.service.cmr.repository.NodeRef contextNodeRef)
Lists immediate child files and folders of the given context node.
|
org.alfresco.query.PagingResults<FileInfo> |
list(org.alfresco.service.cmr.repository.NodeRef contextNodeRef,
boolean files,
boolean folders,
Set<org.alfresco.service.namespace.QName> ignoreQNames,
List<org.alfresco.util.Pair<org.alfresco.service.namespace.QName,Boolean>> sortProps,
org.alfresco.query.PagingRequest pagingRequest)
Lists page of immediate child files and/or folders of the given context node
with optional filtering (exclusion of certain child file/folder subtypes) and sorting
author janv |
org.alfresco.query.PagingResults<FileInfo> |
list(org.alfresco.service.cmr.repository.NodeRef contextNodeRef,
boolean files,
boolean folders,
String pattern,
Set<org.alfresco.service.namespace.QName> ignoreQNames,
List<org.alfresco.util.Pair<org.alfresco.service.namespace.QName,Boolean>> sortProps,
org.alfresco.query.PagingRequest pagingRequest)
Lists page of immediate child files and/or folders of the given context node
with pattern matching and optional filtering (exclusion of certain child file/folder subtypes) and sorting
Pattern uses '*' as a wildcard
|
org.alfresco.query.PagingResults<FileInfo> |
list(org.alfresco.service.cmr.repository.NodeRef rootNodeRef,
Set<org.alfresco.service.namespace.QName> searchTypeQNames,
Set<org.alfresco.service.namespace.QName> ignoreAspectQNames,
List<org.alfresco.util.Pair<org.alfresco.service.namespace.QName,Boolean>> sortProps,
org.alfresco.query.PagingRequest pagingRequest)
Lists page of immediate child objects of the given context node
with specification of which types to list and optional filtering (exclusion of certain child file/folder subtypes) and sorting
|
org.alfresco.query.PagingResults<FileInfo> |
list(org.alfresco.service.cmr.repository.NodeRef rootNodeRef,
Set<org.alfresco.service.namespace.QName> assocTypeQNames,
Set<org.alfresco.service.namespace.QName> searchTypeQNames,
Set<org.alfresco.service.namespace.QName> ignoreAspectQNames,
List<org.alfresco.util.Pair<org.alfresco.service.namespace.QName,Boolean>> sortProps,
List<FilterProp> filterProps,
org.alfresco.query.PagingRequest pagingRequest)
Lists page of immediate child objects of the given context node
with specification of which types to list and optional filtering (exclusion of certain child file/folder subtypes) and sorting
|
List<FileInfo> |
listDeepFolders(org.alfresco.service.cmr.repository.NodeRef contextNodeRef,
SubFolderFilter filter)
Lists all folders below the given context node, both immediate and lower levels
The filter parameter allows subfolders to be excluded from the search.
|
List<FileInfo> |
listFiles(org.alfresco.service.cmr.repository.NodeRef contextNodeRef)
Lists all immediate child files of the given context node
Note: this could be a long list (and will be trimmed at a pre-configured maximum).
|
List<FileInfo> |
listFolders(org.alfresco.service.cmr.repository.NodeRef contextNodeRef)
Lists all immediate child folders of the given context node
Note: this could be a long list (and will be trimmed at a pre-configured maximum).
|
static FileInfo |
makeFolders(FileFolderService service,
org.alfresco.service.cmr.repository.NodeRef parentNodeRef,
List<String> pathElements,
org.alfresco.service.namespace.QName folderTypeQName)
Deprecated.
Use FileFolderUtil.makeFolders rather than directly accessing this implementation class.
|
FileInfo |
makeFolders(org.alfresco.service.cmr.repository.NodeRef parentNodeRef,
List<String> pathElements,
org.alfresco.service.namespace.QName folderTypeQName)
Deprecated.
Use FileFolderUtil.makeFolders rather than directly accessing this implementation class.
|
FileInfo |
move(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef,
org.alfresco.service.cmr.repository.NodeRef sourceParentRef,
org.alfresco.service.cmr.repository.NodeRef targetParentRef,
String newName)
Deprecated.
|
FileInfo |
move(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef,
org.alfresco.service.cmr.repository.NodeRef targetParentRef,
String newName)
Move a file or folder to a new name and/or location.
|
FileInfo |
moveFrom(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef,
org.alfresco.service.cmr.repository.NodeRef sourceParentRef,
org.alfresco.service.cmr.repository.NodeRef targetParentRef,
String newName)
Move a file or folder to a new name and/or location.
|
FileInfo |
rename(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef,
String newName)
Rename a file or folder in its current location
|
FileInfo |
resolveNamePath(org.alfresco.service.cmr.repository.NodeRef rootNodeRef,
List<String> pathElements)
Resolve a file or folder name path from a given root node down to the final node.
|
FileInfo |
resolveNamePath(org.alfresco.service.cmr.repository.NodeRef rootNodeRef,
List<String> pathElements,
boolean mustExist)
Resolve a file or folder name path from a given root node down to the final node.
|
List<FileInfo> |
search(org.alfresco.service.cmr.repository.NodeRef contextNodeRef,
String namePattern,
boolean includeSubFolders)
Searches for all files and folders with the matching name pattern,
using wildcard characters * and ?.
|
List<FileInfo> |
search(org.alfresco.service.cmr.repository.NodeRef contextNodeRef,
String namePattern,
boolean fileSearch,
boolean folderSearch,
boolean includeSubFolders)
Full search with all options
|
org.alfresco.service.cmr.repository.NodeRef |
searchSimple(org.alfresco.service.cmr.repository.NodeRef contextNodeRef,
String name)
Get a node ref of the node that has the name within the parent node
|
void |
setBehaviourFilter(BehaviourFilter behaviourFilter) |
void |
setCannedQueryRegistry(org.alfresco.util.registry.NamedObjectRegistry<org.alfresco.query.CannedQueryFactory<org.alfresco.service.cmr.repository.NodeRef>> cannedQueryRegistry)
Set the registry of
canned queries |
void |
setContentService(ContentService contentService) |
void |
setCopyService(CopyService copyService) |
void |
setDefaultListMaxResults(int defaultListMaxResults) |
void |
setDictionaryService(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService) |
void |
setHidden(org.alfresco.service.cmr.repository.NodeRef nodeRef,
boolean isHidden) |
void |
setHiddenAspect(HiddenAspect hiddenAspect) |
void |
setMimetypeService(org.alfresco.service.cmr.repository.MimetypeService mimetypeService) |
void |
setNamespaceService(org.alfresco.service.namespace.NamespaceService namespaceService) |
void |
setNodeService(org.alfresco.service.cmr.repository.NodeService nodeService) |
void |
setPreserveAuditableData(boolean preserveAuditableData) |
void |
setSearchService(org.alfresco.service.cmr.search.SearchService searchService) |
void |
setSystemPaths(List<String> systemPaths) |
List<FileInfo> |
toFileInfoList(List<org.alfresco.service.cmr.repository.NodeRef> nodeRefs)
Helper method to transform a list of
NodeRef to a list of FileInfo |
getAssociationCopyInfo, getSystemNamespaces, setSystemNamespacespublic void setNamespaceService(org.alfresco.service.namespace.NamespaceService namespaceService)
public void setDictionaryService(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)
public void setNodeService(org.alfresco.service.cmr.repository.NodeService nodeService)
public void setCopyService(CopyService copyService)
public void setSearchService(org.alfresco.service.cmr.search.SearchService searchService)
public void setContentService(ContentService contentService)
public void setMimetypeService(org.alfresco.service.cmr.repository.MimetypeService mimetypeService)
public void setHiddenAspect(HiddenAspect hiddenAspect)
public void setCannedQueryRegistry(org.alfresco.util.registry.NamedObjectRegistry<org.alfresco.query.CannedQueryFactory<org.alfresco.service.cmr.repository.NodeRef>> cannedQueryRegistry)
canned queriespublic void setDefaultListMaxResults(int defaultListMaxResults)
public void setBehaviourFilter(BehaviourFilter behaviourFilter)
public void setPreserveAuditableData(boolean preserveAuditableData)
public boolean isPreserveAuditableData()
public void init()
public List<FileInfo> toFileInfoList(List<org.alfresco.service.cmr.repository.NodeRef> nodeRefs)
FileFolderServiceNodeRef to a list of FileInfotoFileInfoList in interface FileFolderServiceFileInfopublic boolean exists(org.alfresco.service.cmr.repository.NodeRef nodeRef)
FileFolderServiceexists in interface FileFolderServicepublic FileFolderServiceType getType(org.alfresco.service.namespace.QName typeQName)
FileFolderServicegetType in interface FileFolderServicetypeQName - the type to checkpublic List<FileInfo> list(org.alfresco.service.cmr.repository.NodeRef contextNodeRef)
FileFolderServicelist in interface FileFolderServicecontextNodeRef - the node to start searching in@Auditable(parameters={"contextNodeRef","files","folders","ignoreQNames","sortProps","pagingRequest"})
public org.alfresco.query.PagingResults<FileInfo> list(org.alfresco.service.cmr.repository.NodeRef contextNodeRef,
boolean files,
boolean folders,
Set<org.alfresco.service.namespace.QName> ignoreQNames,
List<org.alfresco.util.Pair<org.alfresco.service.namespace.QName,Boolean>> sortProps,
org.alfresco.query.PagingRequest pagingRequest)
FileFolderServicelist in interface FileFolderServicepublic org.alfresco.query.PagingResults<FileInfo> list(org.alfresco.service.cmr.repository.NodeRef contextNodeRef, boolean files, boolean folders, String pattern, Set<org.alfresco.service.namespace.QName> ignoreQNames, List<org.alfresco.util.Pair<org.alfresco.service.namespace.QName,Boolean>> sortProps, org.alfresco.query.PagingRequest pagingRequest)
FileFolderServicelist in interface FileFolderServicepublic org.alfresco.query.PagingResults<FileInfo> list(org.alfresco.service.cmr.repository.NodeRef rootNodeRef, Set<org.alfresco.service.namespace.QName> searchTypeQNames, Set<org.alfresco.service.namespace.QName> ignoreAspectQNames, List<org.alfresco.util.Pair<org.alfresco.service.namespace.QName,Boolean>> sortProps, org.alfresco.query.PagingRequest pagingRequest)
FileFolderServicelist in interface FileFolderServicerootNodeRef - NodeRefsearchTypeQNames - QNames of types to listpagingRequest - PagingRequestpublic org.alfresco.query.PagingResults<FileInfo> list(org.alfresco.service.cmr.repository.NodeRef rootNodeRef, Set<org.alfresco.service.namespace.QName> assocTypeQNames, Set<org.alfresco.service.namespace.QName> searchTypeQNames, Set<org.alfresco.service.namespace.QName> ignoreAspectQNames, List<org.alfresco.util.Pair<org.alfresco.service.namespace.QName,Boolean>> sortProps, List<FilterProp> filterProps, org.alfresco.query.PagingRequest pagingRequest)
FileFolderServicelist in interface FileFolderServicerootNodeRef - NodeRefassocTypeQNames - QNames of assoc types to listsearchTypeQNames - QNames of node types to listpagingRequest - PagingRequestpublic List<FileInfo> listFiles(org.alfresco.service.cmr.repository.NodeRef contextNodeRef)
FileFolderServicelistFiles in interface FileFolderServicecontextNodeRef - the folder nodeRef to start searching inpublic List<FileInfo> listFolders(org.alfresco.service.cmr.repository.NodeRef contextNodeRef)
FileFolderServicelistFolders in interface FileFolderServicecontextNodeRef - the node to start searching inpublic List<FileInfo> listDeepFolders(org.alfresco.service.cmr.repository.NodeRef contextNodeRef, SubFolderFilter filter)
FileFolderServicelistDeepFolders in interface FileFolderServicecontextNodeRef - the node to start searching infilter - - may be null in which case all sub-folders will be searchedpublic org.alfresco.service.cmr.repository.NodeRef getLocalizedSibling(org.alfresco.service.cmr.repository.NodeRef nodeRef)
FileFolderServicethe thread's default locale.getLocalizedSibling in interface FileFolderServicenodeRef - the node that acts as the baseline for the searchpublic org.alfresco.service.cmr.repository.NodeRef searchSimple(org.alfresco.service.cmr.repository.NodeRef contextNodeRef,
String name)
FileFolderServicesearchSimple in interface FileFolderServicecontextNodeRef - the parent nodename - the name of the node to search forpublic List<FileInfo> search(org.alfresco.service.cmr.repository.NodeRef contextNodeRef, String namePattern, boolean includeSubFolders)
FileFolderServicesearch in interface FileFolderServicecontextNodeRef - the context of the search. This node will never be returned
as part of the search results.namePattern - the name of the file or folder to search for, or a
wildcard pattern
to search for.includeSubFolders - true to search the entire hierarchy below the search contextsearch(NodeRef, String, boolean, boolean, boolean)public List<FileInfo> search(org.alfresco.service.cmr.repository.NodeRef contextNodeRef, String namePattern, boolean fileSearch, boolean folderSearch, boolean includeSubFolders)
search in interface FileFolderServicecontextNodeRef - the context of the search. This node will never be returned
as part of the search results.namePattern - the name of the file or folder to search for, or a
wildcard pattern
to search for.fileSearch - true if file types are to be included in the search resultsfolderSearch - true if folder types are to be included in the search resultsincludeSubFolders - true to search the entire hierarchy below the search contextpublic FileInfo rename(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, String newName) throws FileExistsException, FileNotFoundException
FileFolderServicerename in interface FileFolderServicesourceNodeRef - the file or folder to renamenewName - the new nameFileExistsException - if a file or folder with the new name already existsFileNotFoundException - the file or folder reference doesn't existmove(NodeRef, NodeRef, String)public FileInfo move(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef targetParentRef, String newName) throws FileExistsException, FileNotFoundException
FileFolderServiceIf both the parent folder and name remain the same, then nothing is done.
move in interface FileFolderServicesourceNodeRef - the file or folder to movetargetParentRef - the new parent node to move the node to - null means rename in situnewName - the name to change the file or folder to - null to keep the existing nameFileExistsExceptionFileNotFoundExceptionmoveOrCopy(NodeRef, NodeRef, NodeRef, String, boolean)public FileInfo moveFrom(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef sourceParentRef, org.alfresco.service.cmr.repository.NodeRef targetParentRef, String newName) throws FileExistsException, FileNotFoundException
FileFolderServiceIf both the parent folder and name remain the same, then nothing is done.
It is possible to specify which is the parent node when moving nodes; nodes can reside in multiple locations.moveFrom in interface FileFolderServicesourceNodeRef - the file or folder to movesourceParentRef - the source parent of node - null means move from primary parenttargetParentRef - the new parent node to move the node to - null means rename in situnewName - the name to change the file or folder to - null to keep the existing nameFileExistsExceptionFileNotFoundExceptionmoveOrCopy(NodeRef, NodeRef, NodeRef, String, boolean)public FileInfo move(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef sourceParentRef, org.alfresco.service.cmr.repository.NodeRef targetParentRef, String newName) throws FileExistsException, FileNotFoundException
move in interface FileFolderServiceFileExistsExceptionFileNotFoundExceptionpublic FileInfo copy(org.alfresco.service.cmr.repository.NodeRef sourceNodeRef, org.alfresco.service.cmr.repository.NodeRef targetParentRef, String newName) throws FileExistsException, FileNotFoundException
FileFolderServiceIf both the parent folder and name remain the same, then nothing is done.
copy in interface FileFolderServicesourceNodeRef - the file or folder to copytargetParentRef - the new parent node to copy the node to - null means rename in situnewName - the new name, or null to keep the existing name.FileExistsExceptionFileNotFoundExceptionmoveOrCopy(NodeRef, NodeRef, NodeRef, String, boolean)public FileInfo create(org.alfresco.service.cmr.repository.NodeRef parentNodeRef, String name, org.alfresco.service.namespace.QName typeQName) throws FileExistsException
FileFolderServiceThe association QName for the patch defaults to cm:filename i.e. the Content Model namespace with the filename as the local name.
create in interface FileFolderServiceparentNodeRef - the parent node. The parent must be a valid
folder.name - the name of the nodetypeQName - the type to createFileExistsExceptionpublic FileInfo create(org.alfresco.service.cmr.repository.NodeRef parentNodeRef, String name, org.alfresco.service.namespace.QName typeQName, org.alfresco.service.namespace.QName assocQName) throws FileExistsException
FileFolderServicecreate in interface FileFolderServiceparentNodeRef - the parent node. The parent must be a valid
folder.name - the name of the nodetypeQName - the type to createassocQName - the association QName to set for the path (may be null).FileExistsExceptionpublic void delete(org.alfresco.service.cmr.repository.NodeRef nodeRef)
FileFolderServicedelete in interface FileFolderServicenodeRef - the node to deletepublic FileInfo makeFolders(org.alfresco.service.cmr.repository.NodeRef parentNodeRef, List<String> pathElements, org.alfresco.service.namespace.QName folderTypeQName)
An empty path list is not allowed as it would be impossible to necessarily return file info for the parent node - it might not be a folder node.
parentNodeRef - the node under which the path will be createdpathElements - the folder name path to create - may not be emptyfolderTypeQName - the types of nodes to create. This must be a valid subtype of
they folder type.public static FileInfo makeFolders(FileFolderService service, org.alfresco.service.cmr.repository.NodeRef parentNodeRef, List<String> pathElements, org.alfresco.service.namespace.QName folderTypeQName)
An empty path list is not allowed as it would be impossible to necessarily return file info for the parent node - it might not be a folder node.
parentNodeRef - the node under which the path will be createdpathElements - the folder name path to create - may not be emptyfolderTypeQName - the types of nodes to create. This must be a valid subtype of
they folder type.public List<FileInfo> getNamePath(org.alfresco.service.cmr.repository.NodeRef rootNodeRef, org.alfresco.service.cmr.repository.NodeRef nodeRef) throws FileNotFoundException
getNamePath in interface FileFolderServicerootNodeRef - the start of the returned path, or null if the store root
node must be assumed.nodeRef - a reference to the file or folderFileNotFoundException - if the node could not be foundpublic List<String> getNameOnlyPath(org.alfresco.service.cmr.repository.NodeRef rootNodeRef, org.alfresco.service.cmr.repository.NodeRef nodeRef) throws FileNotFoundException
getNameOnlyPath in interface FileFolderServicerootNodeRef - the start of the returned path, or null if the store root
node must be assumed.nodeRef - a reference to the file or folderFileNotFoundException - if the node could not be foundpublic FileInfo resolveNamePath(org.alfresco.service.cmr.repository.NodeRef rootNodeRef, List<String> pathElements) throws FileNotFoundException
FileFolderServiceresolveNamePath in interface FileFolderServicerootNodeRef - the start point node - a cm:folder type or subtype, e.g. the Company Home's nodeRefpathElements - a list of names in the path. Do not include the referenced rootNodeRef's path element.FileNotFoundException - if no file or folder exists along the pathpublic FileInfo resolveNamePath(org.alfresco.service.cmr.repository.NodeRef rootNodeRef, List<String> pathElements, boolean mustExist) throws FileNotFoundException
FileFolderServiceresolveNamePath in interface FileFolderServicerootNodeRef - the start point node - a cm:folder type or subtype, e.g. the Company Home's nodeRefpathElements - a list of names in the path. Do not include the referenced rootNodeRef's path element.null if mustExist is false and the file does not existFileNotFoundException - if no file or folder exists along the path and mustExist is truepublic FileInfo getFileInfo(org.alfresco.service.cmr.repository.NodeRef nodeRef)
FileFolderServicegetFileInfo in interface FileFolderServicenodeRef - the node to get info forpublic org.alfresco.service.cmr.repository.ContentReader getReader(org.alfresco.service.cmr.repository.NodeRef nodeRef)
FileFolderServicegetReader in interface FileFolderServicenodeRef - the content nodepublic org.alfresco.service.cmr.repository.ContentWriter getWriter(org.alfresco.service.cmr.repository.NodeRef nodeRef)
FileFolderServicegetWriter in interface FileFolderServicenodeRef - the content nodepublic void setHidden(org.alfresco.service.cmr.repository.NodeRef nodeRef,
boolean isHidden)
setHidden in interface FileFolderServicepublic boolean isHidden(org.alfresco.service.cmr.repository.NodeRef nodeRef)
isHidden in interface FileFolderServicepublic <M extends Trait> ExtendedTrait<M> getTrait(Class<? extends M> traitAPI)
getTrait in interface ExtensibleCopyright © 2005–2018 Alfresco Software. All rights reserved.