Overview | Package | Class | Tree | Deprecated | Index | Help
| © 2004 BEA Systems, Inc.
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES

## Package com.bea.content

This package and sub-packages work together to provide BEA Portal Content Management. BEA Portal Content Management centers around the Virtual Content Repository. The Virtual Content Repository performs two functions:

1. First, it acts as a content federator to SPI implementations by forwarding content actions to the appropriate configured Repository.
2. Second, it optionally adds Library Services to configured BEA Repositories. Library Services adds WorkSpace, Versioning and a Simple LifeCycle to type defined properties (non-system properties) in a BEA Repository. The basic flow for a Node in a Library Services Enabled Repository is as follows:

- When the Node is created with an ObjectClass and Properties, the Node and System Properties are created in the BEA Repository.
- A Virtual Node, along with a Version is created in the Virtual Repository. The Version contains the Type Defined Properties.
- Each time the Virtual Node is checked out, a working Version is created and it becomes assigned to and locked by the user performing the check out.
- When the Virtual Node is checked in with the same status the system unlocks it, but it stays assigned to the user. If a different user then checks it out, the system locks it and assigns it to the new user that checked it out.
- Each time the Virtual Node is checked in with a different status, a LifeCycle action will occur. When checking in from "Draft" to "Ready For Approval", the Virtual Node will get assigned to all users in the "Publisher" role. When checking in from "Ready For Approval" to "Published", the Type Defined Properties and the ObjectClass association will be copied to Node in the BEA Repository. When checking in from "Published" to "Retired" the Type Defined Properties and ObjectClass association will be removed from the Node in the BEA Repository. The Node will also have its lifeCycleStatus set from "Published" to "Retired" so that it won't be returned in any search queries. When checking out a Node that is "Retired", the Node lifeCycleStatus is changed from "Retired" to "Published", thus the Node's System Properties and ObjectClass association become available for Search queries.
- When working with the Virtual Content Repository API it is important to note that all actions in the manager package immediately occur on the configured Repository with one exception. On a copy for a Library Services Enabled Repository, the node is immediately copied in the configured Repository, however each node in the copied hierarchy also becomes checked out to the user performing the copy in order for the type defined properties to go through the lifecycle. All actions in the virtual package occur in the Virtual Content Repository's datastore. However, when checkIn is called with either a Published or Retired status, type defined properties and the ObjectClass association may be copied to, or removed from the BEA Repository.

This package and sub-packages work together to provide BEA Portal Content Management. It includes:

- com.bea.content - provides the value classes that are shared between the virtual repository and an implementation of the BEA Content SPI.
- com.bea.content.manager - provides a virtual view of configured repositories. These configured Repositories are in affect the "Published" repositories.
- com.bea.content.virtual - provides virtual management of the configured BEA repositories. This allows for content and metadata to be versioned and approved for publishing.
- com.bea.content.spi - provides the service provider interfaces that need to be implemented in order for a repository to plug into the virtual repository.
- com.bea.content.expression - provides the interfaces and classes that are used for the virtual search and as the search parameters to an SPI implementation.
- com.bea.content.loader - provides the bulkloader interfaces which provides the ability to load content from a file system into the virtual repository.

The components that make up a Virtual Repository are listed below.

- Repository - is an instance of the configured spi implementation. There may be more than on instance of an SPI implementation such as the BEA Repository. A Repository is manged through the com.bea.content.manager.NodeOps and com.bea.content.manager.ObjectClassOps interfaces.
- Library Services Enabled Repository - a Repository where all Type defined properties in the Repository will be versioned and will also require approval to be published (written) to the Repository. Currently only BEA Repositories may be Lbrary Services Enabled.
- Lifecycle - the approval process for Node properties to be published to the Repository.
- Virtual Repository - Provides a federrated view of configured Repository insances and also manages Library Services Enabled Repositories.
- Virtual Repository API - consists of the classes and interfaces in the com.bea.content.manager, the com.bea.content.virtual, com.bea.content packages and the com.bea.content.expression packages. In order to start interacting with the API, you must first create an instance of a RepositoryManager by calling RepositoryManagerFactory.connect(). After you have the RepositoryManager you interact with the virtual repository through the various Ops interfaces.

Class Summary
BinaryValue | This class represents binary content.
ContentContext |
ContentEntity | A ContentEntity is an object that is identified in the content management system by a unique id.
Credentials | The credentials for an authenticated subject.
ID | The ID of a content element.
Node | A Node represents an element in a hieararchy.
ObjectClass | ObjectClass is the type for a Node.
PathHelper | Utility class to manipulate unix path like Strings such as /a/b/c/d.
Property | Property is a name value pair, with the name being unique relative to the Node and the value is an Array of Value objects.
PropertyChoice | PropertyChoice defines a set of choices for a PropertyDefinition, and thus any Property instances based on it.
PropertyDefinition | PropertyDefinition defines the shape of a Property.
Value | The value for a Property.

Exception Summary
AuthenticationException | This Exception is thrown when a user fails authentication.
AuthorizationException | Thrown if a user is not authorized for an action.
NodeExistsException | Thrown if an operation on a Node that already exists occurs, such as attempting to rename a Node to the Name of a Node that already exists.
NoSuchNodeException | Thrown if an operation on a Node that does not exist occurs.
NoSuchObjectClassException | Thrown if an operation on a ObjectClass that does not exist occurs.
NoSuchPropertyChoiceException | Thrown if an operation on a PropertyChoice that does not exist occurs.
NoSuchPropertyDefinitionException | Thrown if an operation on a PropertyDefinition that does not exist occurs.
NoSuchPropertyException | Thrown if an operation on a Property that does not exist occurs.
ObjectClassExistsException | Thrown if trying to create an ObjectClass that already exists.
PropertyChoiceExistsException | Thrown if trying to add a PropertyChoice to an ObjectClass with the same name as one that already exists.
PropertyDefinitionExistsException | Thrown if trying to add a PropertyDefinition to an ObjectClass with the same name as one that already exists.
PropertyExistsException | Thrown if trying to add a Property to a Node that already has a Property with the same name.
RepositoryException | This is the main checked exception for any error thrown from the SPI.
RepositoryRuntimeException | This is the main runtime exception for system errors.
UnsupportedRepositoryOperationException | An exception thrown from a repository implementation to signify that the operation is not supported by the implementation.

Overview | Package | Class | Tree | Deprecated | Index | Help
| © 2004 BEA Systems, Inc.
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES

Copyright © 2004 BEA Systems, Inc. All Rights Reserved