Package org.alfresco.service.cmr.search
Interface CategoryService
-
- All Known Implementing Classes:
LuceneCategoryServiceImpl,NoIndexCategoryServiceImpl,SolrCategoryServiceImpl
@AlfrescoPublicApi public interface CategoryServiceCategory Service The service for querying and creating categories. All other management can be carried out using the node service. Classification - the groupings of categories. There is a one-to-one mapping with aspects. For example, Region. Root Category - the top level categories in a classification. For example, Northern Europe Category - any other category below a root category- Author:
- Andy Hind
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classCategoryService.DepthDepth from which to get nodes.static classCategoryService.ModeEnumeration for navigation control.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description org.alfresco.service.cmr.repository.NodeRefcreateCategory(org.alfresco.service.cmr.repository.NodeRef parent, java.lang.String name)Create a new category.org.alfresco.service.cmr.repository.NodeRefcreateClassification(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName, java.lang.String attributeName)Create a new category.org.alfresco.service.cmr.repository.NodeRefcreateRootCategory(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName, java.lang.String name)Create a new root category in the given classificationvoiddeleteCategory(org.alfresco.service.cmr.repository.NodeRef nodeRef)Delete a categoryvoiddeleteClassification(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName)Delete a classificationjava.util.Collection<org.alfresco.service.cmr.repository.ChildAssociationRef>getCategories(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectQName, CategoryService.Depth depth)Get a list of all the categories appropriate for a given property.org.alfresco.service.cmr.repository.ChildAssociationRefgetCategory(org.alfresco.service.cmr.repository.NodeRef parent, org.alfresco.service.namespace.QName aspectName, java.lang.String name)Looks up a category by name under its immediate parent.java.util.Collection<org.alfresco.service.cmr.repository.ChildAssociationRef>getChildren(org.alfresco.service.cmr.repository.NodeRef categoryRef, CategoryService.Mode mode, CategoryService.Depth depth)Get the children of a given category nodejava.util.Collection<org.alfresco.service.namespace.QName>getClassificationAspects()Get all the types that represent categoriesjava.util.Collection<org.alfresco.service.cmr.repository.ChildAssociationRef>getClassifications(org.alfresco.service.cmr.repository.StoreRef storeRef)Get all the classification entriesjava.util.Collection<org.alfresco.service.cmr.repository.ChildAssociationRef>getRootCategories(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName)Get the root categories for an aspect/classificationjava.util.Collection<org.alfresco.service.cmr.repository.ChildAssociationRef>getRootCategories(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName, java.lang.String filter)Get the root categories for an aspect/classification with names that start with filterjava.util.Collection<org.alfresco.service.cmr.repository.ChildAssociationRef>getRootCategories(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName, java.lang.String name, boolean create)Gets root categories by name, optionally creating one if one does not exist.org.alfresco.query.PagingResults<org.alfresco.service.cmr.repository.ChildAssociationRef>getRootCategories(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName, org.alfresco.query.PagingRequest pagingRequest, boolean sortByName)Get a paged list of the root categories for an aspect/classificationorg.alfresco.query.PagingResults<org.alfresco.service.cmr.repository.ChildAssociationRef>getRootCategories(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName, org.alfresco.query.PagingRequest pagingRequest, boolean sortByName, java.lang.String filter)Get a paged list of the root categories for an aspect/classificationjava.util.List<org.alfresco.util.Pair<org.alfresco.service.cmr.repository.NodeRef,java.lang.Integer>>getTopCategories(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName, int count)Get the most polular categories
-
-
-
Method Detail
-
getChildren
@Auditable(parameters={"categoryRef","mode","depth"}) java.util.Collection<org.alfresco.service.cmr.repository.ChildAssociationRef> getChildren(org.alfresco.service.cmr.repository.NodeRef categoryRef, CategoryService.Mode mode, CategoryService.Depth depth)Get the children of a given category node- Parameters:
categoryRef- - the category nodemode- - the enumeration mode for what to recoverdepth- - the enumeration depth for what level to recover- Returns:
- a collection of all the nodes found identified by their ChildAssocRef's
-
getCategories
@Auditable(parameters={"storeRef","aspectQName","depth"}) java.util.Collection<org.alfresco.service.cmr.repository.ChildAssociationRef> getCategories(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectQName, CategoryService.Depth depth)Get a list of all the categories appropriate for a given property. The full list of categories that may be assigned for this aspect.- Parameters:
storeRef- StoreRefaspectQName- QNamedepth- - the enumeration depth for what level to recover- Returns:
- a collection of all the nodes found identified by their ChildAssocRef's
-
getClassifications
@Auditable(parameters="storeRef") java.util.Collection<org.alfresco.service.cmr.repository.ChildAssociationRef> getClassifications(org.alfresco.service.cmr.repository.StoreRef storeRef)
Get all the classification entries
-
getRootCategories
@Auditable(parameters={"storeRef","aspectName"}) java.util.Collection<org.alfresco.service.cmr.repository.ChildAssociationRef> getRootCategories(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName)Get the root categories for an aspect/classification- Parameters:
storeRef- StoreRefaspectName- QName
-
getRootCategories
@Auditable(parameters={"storeRef","aspectName","pagingRequest","sortByName"}) org.alfresco.query.PagingResults<org.alfresco.service.cmr.repository.ChildAssociationRef> getRootCategories(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName, org.alfresco.query.PagingRequest pagingRequest, boolean sortByName)Get a paged list of the root categories for an aspect/classification- Parameters:
storeRef- StoreRefaspectName- QNamepagingRequest- PagingRequestsortByName- boolean
-
getRootCategories
@Auditable(parameters={"storeRef","aspectName","pagingRequest","sortByName","filter"}) org.alfresco.query.PagingResults<org.alfresco.service.cmr.repository.ChildAssociationRef> getRootCategories(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName, org.alfresco.query.PagingRequest pagingRequest, boolean sortByName, java.lang.String filter)Get a paged list of the root categories for an aspect/classification- Parameters:
storeRef-aspectName-pagingRequest-sortByName-filter-- Returns:
-
getRootCategories
@Auditable(parameters={"storeRef","aspectName"}) java.util.Collection<org.alfresco.service.cmr.repository.ChildAssociationRef> getRootCategories(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName, java.lang.String filter)Get the root categories for an aspect/classification with names that start with filter- Parameters:
storeRef- StoreRefaspectName- QNamefilter- String
-
getCategory
@Auditable(parameters={"storeRef","aspectName","name"}) org.alfresco.service.cmr.repository.ChildAssociationRef getCategory(org.alfresco.service.cmr.repository.NodeRef parent, org.alfresco.service.namespace.QName aspectName, java.lang.String name)Looks up a category by name under its immediate parent. Index-independent so can be used for cluster-safe existence checks.- Parameters:
parent- the parentaspectName- the aspect namename- the category name- Returns:
- the category child association reference
-
getRootCategories
@Auditable(parameters={"storeRef","aspectName","name","create"}) java.util.Collection<org.alfresco.service.cmr.repository.ChildAssociationRef> getRootCategories(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName, java.lang.String name, boolean create)Gets root categories by name, optionally creating one if one does not exist. Index-independent so can be used for cluster-safe existence checks.- Parameters:
storeRef- the store refaspectName- the aspect namename- the aspect namecreate- should a category node be created if one does not exist?- Returns:
- the root categories
-
getClassificationAspects
@Auditable java.util.Collection<org.alfresco.service.namespace.QName> getClassificationAspects()
Get all the types that represent categories
-
createClassification
@Auditable(parameters={"storeRef","aspectName","attributeName"}) org.alfresco.service.cmr.repository.NodeRef createClassification(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName, java.lang.String attributeName)Create a new category. This will extend the category types in the data dictionary All it needs is the type name and the attribute in which to store noderefs to categories.- Parameters:
storeRef- StoreRefaspectName- QNameattributeName- String
-
createRootCategory
@Auditable(parameters={"storeRef","aspectName","name"}) org.alfresco.service.cmr.repository.NodeRef createRootCategory(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName, java.lang.String name)Create a new root category in the given classification- Parameters:
storeRef- StoreRefaspectName- QNamename- String- Returns:
- NodeRef
-
createCategory
@Auditable(parameters={"parent","name"}) org.alfresco.service.cmr.repository.NodeRef createCategory(org.alfresco.service.cmr.repository.NodeRef parent, java.lang.String name)Create a new category.- Parameters:
parent- NodeRefname- String- Returns:
- NodeRef
-
deleteClassification
@Auditable(parameters={"storeRef","aspectName"}) void deleteClassification(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName)Delete a classification- Parameters:
storeRef- StoreRefaspectName- QName
-
deleteCategory
@Auditable(parameters="nodeRef") void deleteCategory(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Delete a category- Parameters:
nodeRef- NodeRef
-
getTopCategories
@Auditable(parameters={"storeRef","aspectName","count"}) java.util.List<org.alfresco.util.Pair<org.alfresco.service.cmr.repository.NodeRef,java.lang.Integer>> getTopCategories(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName, int count)Get the most polular categories- Parameters:
storeRef- StoreRefaspectName- QNamecount- int- Returns:
- List
-
-