Overview | Package | Class | Tree | Deprecated | Index | Help
| © 2004 BEA Systems, Inc.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.bea.content.spi
Interface ObjectClassOps

All Superinterfaces:
  Serializable

All Known Implementing Classes:
  ObjectClassOpsImpl

public interface ObjectClassOps
extends Serializable

This interface represents a service for ObjectClass CRUD operations. It is used to manage ObjectClasses as well as their PropertyDefinitions and PropertyChoices. Each ObjectClass may contain 0 to many PropertyDefinitions and each PropertyDefinition may contain 0 to many PropertyChoices.

All ObjectClasses, PropertyDefinitions and PropertyChoices are uniquely identified through their ID. The ID must contain the uid, unless the operation is a create then the uid should be null.

This interface does not support inheritance, or nested ObjectClasses. If the underlying repository does, then all super PropertyDefinitions will be retrieved with the specified ObjectClass.

The repository implementation may have more specific validation rules than that defined above. If a repository considers an attempted operation invalid, it will throw a RepositoryException.

For additional rules see com.bea.content.PropertyDefinition.

Method Summary
`ObjectClass` | `createObjectClass(ObjectClass objectClass)` Creates the given ObjectClass.
`PropertyDefinition` | `createPropertyDefinition(ID objectClassId, PropertyDefinition propertyDefinition)` Adds the given propertyDefinition to the ObjectClass with the given objectClassId.
`void` | `deleteObjectClass(ID objectClassId)` Deletes the ObjectClass with the given objectClassId.
`void` | `deletePropertyDefinition(ID propertyDefinitionId)` Deletes the given propertyDefinition.
`ObjectClass` | `getObjectClass(ID objectClassId)` Gets the ObjectClass with the given objectClassId.
`ObjectClass[]` | `getObjectClasses()` Gets all of the ObjectClasses available in the content repository.
`InputStream` | `getPropertyChoiceBytes(ID propertyChoiceId)` Gets the bytes for the given PropertyChoice.
`PropertyDefinition` | `getPropertyDefinition(ID propertyDefinitionId)` Gets the PropertyDefinition for the given id.
`PropertyDefinition[]` | `getPropertyDefinitions(ID objectClassId)` Gets all PropertyDefinitions for the given ObjectClass.
`ObjectClass` | `renameObjectClass(ID objectClassId, String newName)` Renames the given ObjectClass.
`PropertyDefinition` | `updatePropertyDefinition(PropertyDefinition propertyDefinition)` Updates the given propertyDefinition.

Method Detail

### createObjectClass

    public ObjectClass createObjectClass(ObjectClass objectClass)
                                  throws AuthorizationException,
                                         ObjectClassExistsException,
                                         RepositoryException

  Creates the given ObjectClass. If the ObjectClass contains any PropertyDefinitions then they are created also.

  Parameters:
    `objectClass` - - the ObjectClass to create, along with any PropertyDefinitions to create also.
  Returns:
    ObjectClass - the new ObjectClass.
  Throws:
    `AuthorizationException` - - if the user attempting the operation is not authorized to perform it.
    `ObjectClassExistsException` - - if the name of the ObjectClass is already in use.
    `RepositoryException` - - if a validation error occurs.

### createPropertyDefinition

    public PropertyDefinition createPropertyDefinition(ID objectClassId,
                                                       PropertyDefinition propertyDefinition)
                                                throws AuthorizationException,
                                                       NoSuchObjectClassException,
                                                       RepositoryException

  Adds the given propertyDefinition to the ObjectClass with the given objectClassId. If isPrimary is true then this PropertyDefinition will be set to the primary PropertyDefinition for the ObjectClass. If there is already a primary PropertyDefinition, then it will be unset.

  Parameters:
    `objectClassId` - - the id of the ObjectClass to add the PropertyDefinition to.
    `propertyDefinition` - - the propertyDefinition to create and add to the ObjectClass.
  Returns:
    PropertyDefinition - the PropertyDefinition that was added to the ObjectClass.
  Throws:
    `AuthorizationException` - - if the user attempting the operation is not authorized to perform it.
    `NoSuchObjectClassException` - - if the objectClass does not exist.
    `RepositoryException` - - if a validation error occurs.

### deleteObjectClass

    public void deleteObjectClass(ID objectClassId)
                           throws AuthorizationException,
                                  NoSuchObjectClassException,
                                  RepositoryException

  Deletes the ObjectClass with the given objectClassId. All of the ObjectClass PropertyDefinitions, their PropertyChocies are also deleted if present.

  Parameters:
    `objectClassId` - - the ID of the ObjectClass to delete.
  Throws:
    `AuthorizationException` - - if the user attempting the operation is not authorized to perform it.
    `NoSuchObjectClassException` - - if the ObjectClass to delete does not exist.
    `RepositoryException` - - if a validation error occurred.

### deletePropertyDefinition

    public void deletePropertyDefinition(ID propertyDefinitionId)
                                  throws AuthorizationException,
                                         NoSuchPropertyException,
                                         RepositoryException

  Deletes the given propertyDefinition.

  Parameters:
    `propertyDefinitionId` - - the ID of the propertyDefinition to delete.
  Throws:
    `AuthorizationException` - - if the user attempting the operation is not authorized to perform it.
    `NoSuchPropertyDefinitionException` - - if the PropertyDefinition does not exist.
    `RepositoryException` - - if a validation error occurs.
    `NoSuchPropertyException`

### getObjectClass

    public ObjectClass getObjectClass(ID objectClassId)
                               throws AuthorizationException,
                                      NoSuchObjectClassException

  Gets the ObjectClass with the given objectClassId.

  Parameters:
    `objectClassId` - - the ID of the ObjectClass to get. The ID must contain the repositoryName.
  Returns:
    ObjectClass - the ObjectClass with the given id.
  Throws:
    `AuthorizationException` - - if the user attempting the operation is not authorized to perform it.
    `NoSuchObjectClassException` - - if the ObjectClass to get does not exist.

### getObjectClasses

    public ObjectClass[] getObjectClasses()
                                   throws AuthorizationException

  Gets all of the ObjectClasses available in the content repository.

  Returns:
    ObjectClass[] - an array of all ObjectClasses, an empty array if none are currently defined.
  Throws:
    `AuthorizationException` - - if the user attempting the operation is not authorized to perform it.

### getPropertyChoiceBytes

    public InputStream getPropertyChoiceBytes(ID propertyChoiceId)
                                       throws AuthorizationException,
                                              NoSuchPropertyChoiceException

  Gets the bytes for the given PropertyChoice.

  Parameters:
    `propertyChoiceId` - - the ID of the propertyChoice to get the BinaryValue for.
  Returns:
    InputStream - the binary data for the BinaryChoice.
  Throws:
    `AuthorizationException` - - if the user attempting the operation is not authorized to perform it.
    `NoSuchPropertyChoiceException` - - if the PropertyChoice does not exist.

### getPropertyDefinition

    public PropertyDefinition getPropertyDefinition(ID propertyDefinitionId)
                                             throws AuthorizationException,
                                                    NoSuchPropertyDefinitionException

  Gets the PropertyDefinition for the given id.

  Parameters:
    `propertyDefinitionId` - - the ID the PropertyDefinition to get.
  Returns:
    PropertyDefinition - the PropertyDefinition whose id matches propertyDefinitionId.
  Throws:
    `AuthorizationException` - - if the user attempting the operation is not authorized to perform it.
    `NoSuchPropertyDefinitionException` - - if the PropertyDefinition does not exist.

### getPropertyDefinitions

    public PropertyDefinition[] getPropertyDefinitions(ID objectClassId)
                                                throws AuthorizationException,
                                                       NoSuchObjectClassException

  Gets all PropertyDefinitions for the given ObjectClass.

  Parameters:
    `objectClassId` - - the ID for the ObjectClass to get its PropertyDefinitions.
  Returns:
    PropertyDefinition[] - the array of PropertyDefinitions for the given ObjectClass, of an empty array of none are currently defined.
  Throws:
    `AuthorizationException` - - if the user attempting the operation is not authorized to perform it.
    `NoSuchObjectClassException` - - if the ObjectClass does not exist.

### renameObjectClass

    public ObjectClass renameObjectClass(ID objectClassId,
                                         String newName)
                                  throws ObjectClassExistsException,
                                         NoSuchObjectClassException,
                                         RepositoryException

  Renames the given ObjectClass.

  Parameters:
    `objectClassId` - - the ID of the objectClass to rename.
    `newName` - - the new name of the ObjectClass.
  Returns:
    ObjectClass - the updated ObjectClass.
  Throws:
    `ObjectClassExistsException` - - if the name of the ObjectClass is already in use.
    `NoSuchObjectClassException` - - if the objectClass to rename doesn't exist.
    `RepositoryException` - - if a validation error occurs.

### updatePropertyDefinition

    public PropertyDefinition updatePropertyDefinition(PropertyDefinition propertyDefinition)
                                                throws AuthorizationException,
                                                       NoSuchPropertyException,
                                                       RepositoryException

  Updates the given propertyDefinition.

  The PropertyDefinition IDs and all of its PropertyChoices Ids should remain intact when updated. If PropertyChoices are no longer present on the PropertyDefinition, they should be deleted. If new PropertyChoices are present on the PropertyDefinition they should be added.

  If isPrimary is true then this PropertyDefinition will be set to the primary PropertyDefinition for the ObjectClass. If there is already a primary PropertyDefinition, then it will be unset.

  Parameters:
    `propertyDefinition` - - the propertyDefinition to update. There can only be one primary PropertyDefinition that defines the primary content Property for a Node.
  Returns:
    PropertyDefinition - the updated PropertyDefinition.
  Throws:
    `AuthorizationException` - - if the user attempting the operation is not authorized to perform it.
    `NoSuchPropertyDefinitionException` - - if the PropertyDefinition does not exist.
    `RepositoryException` - - if a validation error occurs.
    `NoSuchPropertyException`

Overview | Package | Class | Tree | Deprecated | Index | Help
| © 2004 BEA Systems, Inc.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2004 BEA Systems, Inc. All Rights Reserved