Package com.arsdigita.categorization

The Categorization service provides an infrastructure for developers to categorize arbitrary content within the system.

See:
          Description

Class Summary
Categorization Provides static helper methods.
CategorizedCollection Represents a collection of categorized objects.
CategorizedObject A wrapper for a categorized ACSObject, such as the Jaws object in this diagram.
Category Implements persistent storage of categories.
CategoryCollection Represents a collection of categories.
CategoryPurpose Deprecated. See the note about "use context" methods in the documentation for Category class.
CategoryTreeModelLite Implements the TreeModel interface for categories.
CategoryTreeNodeLite A light-weight category node.
RootCategoryCollection Represents a collection of root categories.
 

Exception Summary
CategorizationException Category exception.
CategoryMappingExistsException This is thrown when an attempt is made to add a mapping that already exists.
CategoryMappingNotFoundException This is thrown when the requested category mapping is not found.
CategoryNotFoundException This is thrown when the requested category is not found.
 

Package com.arsdigita.categorization Description

The Categorization service provides an infrastructure for developers to categorize arbitrary content within the system.

Categories are organized hierarchically. A (parent) category may have related subcategories. A subcategory may have more than one parent. One of these parents may be designated as the default parent (see Category.setDefaultParentCategory(Category)). Categories are usually organized as a tree where each category except one has a default parent. The single category with no parents is called the root category.

Sample taxonomy

In the above example, the "Televised events" is the only one that has two parents. Its default parent is "TV Shows", and the other parent "Sports". Whether or not a category is the default parent of another category influences operation of many methods. See, for example, Category.deleteCategorySubtree().

You can categorize an object by adding it to a category via the Category.addChild(ACSObject) method. An object can belong to more than one category.

Sample categorization

The above example shows three categorized objects. The movie Jaws and the show Iron Chef are categorized under a single category each, whereas The Natural is categorized under two.

An application may have more than one category tree. These separate category trees are distinguished by tying their roots to selected anchor objects. Say, you have a content section. Within the content section, you want to make use of three different category trees: one for your Human Resources department, another one for Legal, and the third one for Marketing. This can be achieved via Category.setRootForObject(ACSObject, Category, String), by using your content section object as the anchor and by mapping each of the respective category roots to it, with diffrent use contexts.

The Category class is the central class in this package and an entry point to most of the functionality provided by the categorization service. The Categorization class provides a number of (static) utility methods.



Copyright (c) 2004 Red Hat, Inc. Corporation. All Rights Reserved. Generated at July 21 2004:2337 UTC