org.alfresco.service.cmr.search
Interface CategoryService

All Known Implementing Classes:
LuceneCategoryServiceImpl, NoIndexCategoryServiceImpl, SolrCategoryServiceImpl

public interface CategoryService

Category 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


Nested Class Summary
static class CategoryService.Depth
          Depth from which to get nodes.
static class CategoryService.Mode
          Enumeration for navigation control.
 
Method Summary
 org.alfresco.service.cmr.repository.NodeRef createCategory(org.alfresco.service.cmr.repository.NodeRef parent, java.lang.String name)
          Create a new category.
 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.
 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
 void deleteCategory(org.alfresco.service.cmr.repository.NodeRef nodeRef)
          Delete a category
 void deleteClassification(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName)
          Delete a classification
 java.util.Collection 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.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.
 java.util.Collection getChildren(org.alfresco.service.cmr.repository.NodeRef categoryRef, CategoryService.Mode mode, CategoryService.Depth depth)
          Get the children of a given category node
 java.util.Collection getClassificationAspects()
          Get all the types that represent categories
 java.util.Collection getClassifications(org.alfresco.service.cmr.repository.StoreRef storeRef)
          Get all the classification entries
 java.util.Collection getRootCategories(org.alfresco.service.cmr.repository.StoreRef storeRef, org.alfresco.service.namespace.QName aspectName)
          Get the root categories for an aspect/classification
 java.util.Collection 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.
 java.util.List 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 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 node
mode - - the enumeration mode for what to recover
depth - - 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 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:
aspectQName -
depth - - 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 getClassifications(org.alfresco.service.cmr.repository.StoreRef storeRef)
Get all the classification entries

Returns:

getRootCategories

@Auditable(parameters={"storeRef", "aspectName"})
java.util.Collection getRootCategories(org.alfresco.service.cmr.repository.StoreRef storeRef,
                                                 org.alfresco.service.namespace.QName aspectName)
Get the root categories for an aspect/classification

Parameters:
storeRef -
aspectName -
Returns:

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 parent
aspectName - the aspect name
name - the category name
Returns:
the category child association reference

getRootCategories

@Auditable(parameters={"storeRef", "aspectName", "name", "create"})
java.util.Collection 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 ref
aspectName - the aspect name
name - the aspect name
create - should a category node be created if one does not exist?
Returns:
the root categories

getClassificationAspects

@Auditable
java.util.Collection getClassificationAspects()
Get all the types that represent categories

Returns:

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:
aspectName -
attributeName -

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 -
aspectName -
name -
Returns:

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 -
name -
Returns:

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 -
aspectName -

deleteCategory

@Auditable(parameters="nodeRef")
void deleteCategory(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Delete a category

Parameters:
nodeRef -

getTopCategories

@Auditable(parameters={"storeRef", "aspectName", "count"})
java.util.List getTopCategories(org.alfresco.service.cmr.repository.StoreRef storeRef,
                                          org.alfresco.service.namespace.QName aspectName,
                                          int count)
Get the most polular categories

Parameters:
storeRef -
aspectName -
count -
Returns:


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