diff --git a/source/java/org/alfresco/repo/model/filefolder/traitextender/FileFolderServiceExtension.java b/source/java/org/alfresco/repo/model/filefolder/traitextender/FileFolderServiceExtension.java new file mode 100644 index 0000000000..b86537b3c7 --- /dev/null +++ b/source/java/org/alfresco/repo/model/filefolder/traitextender/FileFolderServiceExtension.java @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2005-2015 Alfresco Software Limited. + * + * This file is part of Alfresco + * + * Alfresco is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Alfresco is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Alfresco. If not, see http://www.gnu.org/licenses/. + */ +package org.alfresco.repo.model.filefolder.traitextender; + +import java.util.List; +import java.util.Set; + +import org.alfresco.query.PagingRequest; +import org.alfresco.query.PagingResults; +import org.alfresco.service.cmr.model.FileExistsException; +import org.alfresco.service.cmr.model.FileInfo; +import org.alfresco.service.cmr.model.FileNotFoundException; +import org.alfresco.service.cmr.repository.NodeRef; +import org.alfresco.service.namespace.QName; +import org.alfresco.util.Pair; + +public interface FileFolderServiceExtension +{ + List list(NodeRef contextNodeRef); + + PagingResults list(NodeRef contextNodeRef, boolean files, boolean folders, String pattern, + Set ignoreQNames, List> sortProps, PagingRequest pagingRequest); + + PagingResults list(NodeRef rootNodeRef, Set searchTypeQNames, Set ignoreAspectQNames, + List> sortProps, PagingRequest pagingRequest); + + List search(NodeRef contextNodeRef, String namePattern, boolean includeSubFolders); + + List search(NodeRef contextNodeRef, String namePattern, boolean fileSearch, boolean folderSearch, + boolean includeSubFolders); + + FileInfo rename(NodeRef sourceNodeRef, String newName) throws FileExistsException, FileNotFoundException; +} diff --git a/source/java/org/alfresco/repo/model/filefolder/traitextender/FileFolderServiceTrait.java b/source/java/org/alfresco/repo/model/filefolder/traitextender/FileFolderServiceTrait.java new file mode 100644 index 0000000000..30d8651651 --- /dev/null +++ b/source/java/org/alfresco/repo/model/filefolder/traitextender/FileFolderServiceTrait.java @@ -0,0 +1,60 @@ +/* + * Copyright (C) 2005-2015 Alfresco Software Limited. + * + * This file is part of Alfresco + * + * Alfresco is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Alfresco is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Alfresco. If not, see http://www.gnu.org/licenses/. + */ + +package org.alfresco.repo.model.filefolder.traitextender; + +import java.io.Serializable; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.alfresco.query.PagingRequest; +import org.alfresco.query.PagingResults; +import org.alfresco.service.cmr.model.FileExistsException; +import org.alfresco.service.cmr.model.FileFolderServiceType; +import org.alfresco.service.cmr.model.FileInfo; +import org.alfresco.service.cmr.model.FileNotFoundException; +import org.alfresco.service.cmr.repository.NodeRef; +import org.alfresco.service.namespace.QName; +import org.alfresco.traitextender.Trait; +import org.alfresco.util.Pair; + +public interface FileFolderServiceTrait extends Trait +{ + FileInfo createFileInfo(NodeRef nodeRef, QName typeQName, boolean isFolder, boolean isHidden, + Map properties); + + FileFolderServiceType getType(QName typeQName); + + List list(NodeRef contextNodeRef); + + PagingResults list(final NodeRef contextNodeRef, boolean files, boolean folders, String pattern, + Set ignoreQNames, List> sortProps, PagingRequest pagingRequest); + + PagingResults list(NodeRef rootNodeRef, Set searchTypeQNames, Set ignoreAspectQNames, + List> sortProps, PagingRequest pagingRequest); + + List search(NodeRef contextNodeRef, String namePattern, boolean fileSearch, boolean folderSearch, + boolean includeSubFolders); + + Pair, Set> buildSearchTypesAndIgnoreAspects(boolean files, boolean folders, + Set ignoreQNameTypes); + + FileInfo rename(NodeRef sourceNodeRef, String newName) throws FileExistsException, FileNotFoundException; +}