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.
Each repository has specific validation rules that the manager will delegate to. If a repository considers an attempted operation invalid, it will throw a RepositoryException. The rules for the manager are defined below.
All ObjectClasses, PropertyDefinitions and PropertyChoices are uniquely identified through their ID. The ID must contain both the repositoryName and 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.
Each operation may only occur against one repository at a time. Therefore, all IDs in a single operation must all have the same repository name.
For additional rules see com.bea.content.PropertyDefinition.
Serializable
Method Summary |
public |
|
public |
|
public void |
|
public void |
|
public |
|
public |
|
public |
|
public |
|
public |
|
public |
|
public |
|
public |
|
Method Detail |
publicCreates the given ObjectClass and its PropertyDefinitions and PropertyChoices if applicable.ObjectClass
createObjectClass(ObjectClass
objectClass)
throwsAuthenticationException
,AuthorizationException
,ObjectClassExistsException
,RepositoryException
AuthenticationException
AuthorizationException
ObjectClassExistsException
RepositoryException
publicAdds 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.PropertyDefinition
createPropertyDefinition(ID
objectClassId,PropertyDefinition
propertyDefinition)
throwsAuthenticationException
,AuthorizationException
,NoSuchObjectClassException
,RepositoryException
AuthenticationException
AuthorizationException
NoSuchObjectClassException
RepositoryException
public void deleteObjectClass(Deletes the ObjectClass with the given objectClassId. All of the ObjectClass PropertyDefinitions, and their PropertyChocies are also deleted if present.ID
objectClassId)
throwsAuthenticationException
,AuthorizationException
,NoSuchObjectClassException
,RepositoryException
If the ObjectClass to delete has Nodes associated with it, either in the Repository or Virtual Repository it can't be removed.
AuthenticationException
AuthorizationException
NoSuchObjectClassException
RepositoryException
public void deletePropertyDefinition(Deletes the given propertyDefinition. If the PropertyDefinition to delete has Nodes associated with it's ObjectClass, either in the Repository or Virtual Repository it can't be removed.ID
propertyDefinitionId)
throwsAuthenticationException
,AuthorizationException
,NoSuchPropertyException
,RepositoryException
AuthenticationException
AuthorizationException
NoSuchPropertyException
RepositoryException
publicGets the ObjectClass with the given objectClassId.ObjectClass
getObjectClass(ID
objectClassId)
throwsAuthenticationException
,AuthorizationException
,NoSuchObjectClassException
AuthenticationException
AuthorizationException
NoSuchObjectClassException
publicGets all of the ObjectClasses available for all content repositories the user is currently authenticated for.ObjectClass
[] getObjectClasses()
throwsAuthenticationException
,AuthorizationException
,RepositoryException
AuthenticationException
AuthorizationException
RepositoryException
publicGets all of the ObjectClasses available for a specific repository.ObjectClass
[] getObjectClasses(String
repositoryName)
throwsAuthenticationException
,AuthorizationException
AuthenticationException
AuthorizationException
publicGets the bytes for the given PropertyChoice.InputStream
getPropertyChoiceBytes(ID
propertyChoiceId)
throwsAuthenticationException
,AuthorizationException
,NoSuchPropertyChoiceException
After calling this method and retrieving the InputStream, you must close the InputStream when finished reading it.
WARNING: If using this interface to retrieve binary content from
a BEA Repository, please read the javadoc for
RepositoryConfig
.
AuthenticationException
AuthorizationException
NoSuchPropertyChoiceException
publicGets the PropertyDefinition for the given id.PropertyDefinition
getPropertyDefinition(ID
propertyDefinitionId)
throwsAuthenticationException
,AuthorizationException
,NoSuchPropertyDefinitionException
AuthenticationException
AuthorizationException
NoSuchPropertyDefinitionException
publicGets all PropertyDefinitions for the given ObjectClass.PropertyDefinition
[] getPropertyDefinitions(ID
objectClassId)
throwsAuthenticationException
,AuthorizationException
,NoSuchObjectClassException
AuthenticationException
AuthorizationException
NoSuchObjectClassException
publicRenames the given ObjectClass.ObjectClass
renameObjectClass(ID
objectClassId,String
newName)
throwsObjectClassExistsException
,NoSuchObjectClassException
,RepositoryException
ObjectClassExistsException
NoSuchObjectClassException
RepositoryException
publicUpdates the given propertyDefinition.PropertyDefinition
updatePropertyDefinition(PropertyDefinition
propertyDefinition)
throwsAuthenticationException
,AuthorizationException
,NoSuchPropertyException
,RepositoryException
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.
AuthenticationException
AuthorizationException
NoSuchPropertyException
RepositoryException