|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.opends.server.admin.client.spi.AbstractManagedObject<T>
T
- The type of client configuration represented by the client
managed object.public abstract class AbstractManagedObject<T extends ConfigurationClient>
An abstract managed object implementation.
Field Summary |
---|
Fields inherited from interface org.opends.server.admin.PropertyProvider |
---|
DEFAULT_PROVIDER |
Constructor Summary | |
---|---|
protected |
AbstractManagedObject(ManagedObjectDefinition<T,? extends Configuration> d,
ManagedObjectPath<T,? extends Configuration> path,
PropertySet properties,
boolean existsOnServer,
PropertyDefinition<?> namingPropertyDefinition)
Creates a new abstract managed object. |
Method Summary | ||
---|---|---|
protected abstract void |
addNewManagedObject()
Adds this new managed object. |
|
void |
commit()
Adds this managed object to the server or commits any changes made to it depending on whether or not the managed object already exists on the server. |
|
|
createChild(InstantiableRelationDefinition<C,S> r,
ManagedObjectDefinition<CC,? extends S> d,
java.lang.String name,
java.util.Collection<DefaultBehaviorException> exceptions)
Creates a new child managed object bound to the specified instantiable relation. |
|
|
createChild(OptionalRelationDefinition<C,S> r,
ManagedObjectDefinition<CC,? extends S> d,
java.util.Collection<DefaultBehaviorException> exceptions)
Creates a new child managed object bound to the specified optional relation. |
|
|
getChild(InstantiableRelationDefinition<C,S> r,
java.lang.String name)
Retrieves an instantiable child managed object. |
|
|
getChild(OptionalRelationDefinition<C,S> r)
Retrieves an optional child managed object. |
|
|
getChild(SingletonRelationDefinition<C,S> r)
Retrieves a singleton child managed object. |
|
T |
getConfiguration()
Creates a client configuration view of this managed object. |
|
protected abstract Driver |
getDriver()
Gets the management context driver associated with this managed object. |
|
ManagedObjectDefinition<T,? extends Configuration> |
getManagedObjectDefinition()
Gets the definition associated with this managed object. |
|
ManagedObjectPath<T,? extends Configuration> |
getManagedObjectPath()
Gets the path of this managed object. |
|
protected PropertyDefinition<?> |
getNamingPropertyDefinition()
Gets the naming property definition associated with this managed object. |
|
protected
|
getProperty(PropertyDefinition<PD> pd)
Gets the property associated with the specified property definition. |
|
|
getPropertyDefaultValues(PropertyDefinition<PD> pd)
Gets a mutable copy of the set of default values for the specified property. |
|
|
getPropertyValue(PropertyDefinition<PD> pd)
Gets the effective value of the specified property. |
|
|
getPropertyValues(PropertyDefinition<PD> pd)
Gets a mutable copy of the set of effective values for the specified property. |
|
|
hasChild(OptionalRelationDefinition<C,S> r)
Determines whether or not the optional managed object associated with the specified optional relations exists. |
|
boolean |
isPropertyPresent(PropertyDefinition<?> pd)
Determines whether or not the specified property is set. |
|
|
listChildren(InstantiableRelationDefinition<C,S> r)
Lists the child managed objects associated with the specified instantiable relation. |
|
|
listChildren(InstantiableRelationDefinition<C,S> r,
AbstractManagedObjectDefinition<? extends C,? extends S> d)
Lists the child managed objects associated with the specified instantiable relation which are a sub-type of the specified managed object definition. |
|
protected abstract void |
modifyExistingManagedObject()
Applies changes made to this managed object. |
|
protected abstract
|
newInstance(ManagedObjectDefinition<M,?> d,
ManagedObjectPath<M,?> path,
PropertySet properties,
boolean existsOnServer,
PropertyDefinition<?> namingPropertyDefinition)
Creates a new managed object. |
|
|
removeChild(InstantiableRelationDefinition<C,S> r,
java.lang.String name)
Removes the named instantiable child managed object. |
|
|
removeChild(OptionalRelationDefinition<C,S> r)
Removes an optional child managed object. |
|
|
setPropertyValue(PropertyDefinition<PD> pd,
PD value)
Sets a new pending value for the specified property. |
|
|
setPropertyValues(PropertyDefinition<PD> pd,
java.util.Collection<PD> values)
Sets a new pending values for the specified property. |
|
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.opends.server.admin.client.ManagedObject |
---|
isModified |
Constructor Detail |
---|
protected AbstractManagedObject(ManagedObjectDefinition<T,? extends Configuration> d, ManagedObjectPath<T,? extends Configuration> path, PropertySet properties, boolean existsOnServer, PropertyDefinition<?> namingPropertyDefinition)
d
- The managed object's definition.path
- The managed object's path.properties
- The managed object's properties.existsOnServer
- Indicates whether or not the managed object exists on
the server (false means the managed object is new and
has not been committed).namingPropertyDefinition
- Optional naming property definition.Method Detail |
---|
public final void commit() throws ManagedObjectAlreadyExistsException, MissingMandatoryPropertiesException, ConcurrentModificationException, OperationRejectedException, AuthorizationException, CommunicationException
See the class description for more information regarding pending and active values.
commit
in interface ManagedObject<T extends ConfigurationClient>
ManagedObjectAlreadyExistsException
- If the managed object cannot be added to the server
because it already exists.
MissingMandatoryPropertiesException
- If the managed object contains some mandatory
properties which have been left undefined.
ConcurrentModificationException
- If the managed object is being added to the server but
its parent has been removed by another client, or if
this managed object is being modified but it has been
removed from the server by another client.
OperationRejectedException
- If this managed object cannot be added or modified due
to some client-side or server-side constraint which
cannot be satisfied.
AuthorizationException
- If the server refuses to add or modify this managed
object because the client does not have the correct
privileges.
CommunicationException
- If the client cannot contact the server due to an
underlying communication problem.public final <C extends ConfigurationClient,S extends Configuration,CC extends C> ManagedObject<CC> createChild(InstantiableRelationDefinition<C,S> r, ManagedObjectDefinition<CC,? extends S> d, java.lang.String name, java.util.Collection<DefaultBehaviorException> exceptions) throws IllegalManagedObjectNameException, java.lang.IllegalArgumentException
ManagedObject.commit()
method.
createChild
in interface ManagedObject<T extends ConfigurationClient>
C
- The expected type of the child managed object
configuration client.S
- The expected type of the child managed object
server configuration.CC
- The actual type of the added managed object
configuration client.r
- The instantiable relation definition.d
- The definition of the managed object to be created.name
- The name of the child managed object.exceptions
- A collection in which to place any
DefaultBehaviorException
s that occurred whilst
attempting to determine the managed object's default
values.
IllegalManagedObjectNameException
- If the name of the child managed object is invalid.
java.lang.IllegalArgumentException
- If the relation definition is not associated with this
managed object's definition.public final <C extends ConfigurationClient,S extends Configuration,CC extends C> ManagedObject<CC> createChild(OptionalRelationDefinition<C,S> r, ManagedObjectDefinition<CC,? extends S> d, java.util.Collection<DefaultBehaviorException> exceptions) throws java.lang.IllegalArgumentException
ManagedObject.commit()
method.
createChild
in interface ManagedObject<T extends ConfigurationClient>
C
- The expected type of the child managed object
configuration client.S
- The expected type of the child managed object
server configuration.CC
- The actual type of the added managed object
configuration client.r
- The optional relation definition.d
- The definition of the managed object to be created.exceptions
- A collection in which to place any
DefaultBehaviorException
s that occurred whilst
attempting to determine the managed object's default
values.
java.lang.IllegalArgumentException
- If the relation definition is not associated with this
managed object's definition.public final <C extends ConfigurationClient,S extends Configuration> ManagedObject<? extends C> getChild(InstantiableRelationDefinition<C,S> r, java.lang.String name) throws java.lang.IllegalArgumentException, DefinitionDecodingException, ManagedObjectDecodingException, ManagedObjectNotFoundException, ConcurrentModificationException, AuthorizationException, CommunicationException
getChild
in interface ManagedObject<T extends ConfigurationClient>
C
- The requested type of the child managed object
configuration client.S
- The type of server managed object configuration that the
relation definition refers to.r
- The instantiable relation definition.name
- The name of the child managed object.
java.lang.IllegalArgumentException
- If the relation definition is not associated with this
managed object's definition.
DefinitionDecodingException
- If the managed object was found but its type could not
be determined.
ManagedObjectDecodingException
- If the managed object was found but one or more of its
properties could not be decoded.
ManagedObjectNotFoundException
- If the requested managed object could not be found on
the server.
ConcurrentModificationException
- If this managed object has been removed from the server
by another client.
AuthorizationException
- If the server refuses to retrieve the managed object
because the client does not have the correct
privileges.
CommunicationException
- If the client cannot contact the server due to an
underlying communication problem.public final <C extends ConfigurationClient,S extends Configuration> ManagedObject<? extends C> getChild(OptionalRelationDefinition<C,S> r) throws java.lang.IllegalArgumentException, DefinitionDecodingException, ManagedObjectDecodingException, ManagedObjectNotFoundException, ConcurrentModificationException, AuthorizationException, CommunicationException
getChild
in interface ManagedObject<T extends ConfigurationClient>
C
- The requested type of the child managed object
configuration client.S
- The type of server managed object configuration that the
relation definition refers to.r
- The optional relation definition.
java.lang.IllegalArgumentException
- If the relation definition is not associated with this
managed object's definition.
DefinitionDecodingException
- If the managed object was found but its type could not
be determined.
ManagedObjectDecodingException
- If the managed object was found but one or more of its
properties could not be decoded.
ManagedObjectNotFoundException
- If the requested managed object could not be found on
the server.
ConcurrentModificationException
- If this managed object has been removed from the server
by another client.
AuthorizationException
- If the server refuses to retrieve the managed object
because the client does not have the correct
privileges.
CommunicationException
- If the client cannot contact the server due to an
underlying communication problem.public final <C extends ConfigurationClient,S extends Configuration> ManagedObject<? extends C> getChild(SingletonRelationDefinition<C,S> r) throws java.lang.IllegalArgumentException, DefinitionDecodingException, ManagedObjectDecodingException, ManagedObjectNotFoundException, ConcurrentModificationException, AuthorizationException, CommunicationException
getChild
in interface ManagedObject<T extends ConfigurationClient>
C
- The requested type of the child managed object
configuration client.S
- The type of server managed object configuration that the
relation definition refers to.r
- The singleton relation definition.
java.lang.IllegalArgumentException
- If the relation definition is not associated with this
managed object's definition.
DefinitionDecodingException
- If the managed object was found but its type could not
be determined.
ManagedObjectDecodingException
- If the managed object was found but one or more of its
properties could not be decoded.
ManagedObjectNotFoundException
- If the requested managed object could not be found on
the server.
ConcurrentModificationException
- If this managed object has been removed from the server
by another client.
AuthorizationException
- If the server refuses to retrieve the managed object
because the client does not have the correct
privileges.
CommunicationException
- If the client cannot contact the server due to an
underlying communication problem.public final T getConfiguration()
getConfiguration
in interface ManagedObject<T extends ConfigurationClient>
public final ManagedObjectDefinition<T,? extends Configuration> getManagedObjectDefinition()
getManagedObjectDefinition
in interface ManagedObject<T extends ConfigurationClient>
public final ManagedObjectPath<T,? extends Configuration> getManagedObjectPath()
getManagedObjectPath
in interface ManagedObject<T extends ConfigurationClient>
public final <PD> java.util.SortedSet<PD> getPropertyDefaultValues(PropertyDefinition<PD> pd) throws java.lang.IllegalArgumentException
getPropertyDefaultValues
in interface ManagedObject<T extends ConfigurationClient>
PD
- The type of the property to be retrieved.pd
- The property to be retrieved.
java.lang.IllegalArgumentException
- If the property definition is not associated with this
managed object's definition.public final <PD> PD getPropertyValue(PropertyDefinition<PD> pd) throws java.lang.IllegalArgumentException
See the class description for more information about how the effective property value is derived.
getPropertyValue
in interface ManagedObject<T extends ConfigurationClient>
PD
- The type of the property to be retrieved.pd
- The property to be retrieved.
null
if there is no effective value
defined.
java.lang.IllegalArgumentException
- If the property definition is not associated with this
managed object's definition.public final <PD> java.util.SortedSet<PD> getPropertyValues(PropertyDefinition<PD> pd) throws java.lang.IllegalArgumentException
See the class description for more information about how the effective property values are derived.
getPropertyValues
in interface ManagedObject<T extends ConfigurationClient>
getPropertyValues
in interface PropertyProvider
PD
- The type of the property to be retrieved.pd
- The property to be retrieved.
java.lang.IllegalArgumentException
- If the property definition is not associated with this
managed object's definition.public final <C extends ConfigurationClient,S extends Configuration> boolean hasChild(OptionalRelationDefinition<C,S> r) throws java.lang.IllegalArgumentException, ConcurrentModificationException, AuthorizationException, CommunicationException
hasChild
in interface ManagedObject<T extends ConfigurationClient>
C
- The type of client managed object configuration that the
relation definition refers to.S
- The type of server managed object configuration that the
relation definition refers to.r
- The optional relation definition.
true
if the optional managed
object exists, false
otherwise.
java.lang.IllegalArgumentException
- If the relation definition is not associated with this
managed object's definition.
ConcurrentModificationException
- If this managed object has been removed from the server
by another client.
AuthorizationException
- If the server refuses to make the determination because
the client does not have the correct privileges.
CommunicationException
- If the client cannot contact the server due to an
underlying communication problem.public final boolean isPropertyPresent(PropertyDefinition<?> pd) throws java.lang.IllegalArgumentException
isPropertyPresent
in interface ManagedObject<T extends ConfigurationClient>
pd
- The property definition.
true
if the property has been set,
or false
if it is unset and any default
behavior associated with the property applies.
java.lang.IllegalArgumentException
- If the property definition is not associated with this
managed object's definition.public final <C extends ConfigurationClient,S extends Configuration> java.lang.String[] listChildren(InstantiableRelationDefinition<C,S> r) throws java.lang.IllegalArgumentException, ConcurrentModificationException, AuthorizationException, CommunicationException
listChildren
in interface ManagedObject<T extends ConfigurationClient>
C
- The type of client managed object configuration that the
relation definition refers to.S
- The type of server managed object configuration that the
relation definition refers to.r
- The instantiable relation definition.
java.lang.IllegalArgumentException
- If the relation definition is not associated with this
managed object's definition.
ConcurrentModificationException
- If this managed object has been removed from the server
by another client.
AuthorizationException
- If the server refuses to list the managed objects
because the client does not have the correct
privileges.
CommunicationException
- If the client cannot contact the server due to an
underlying communication problem.public final <C extends ConfigurationClient,S extends Configuration> java.lang.String[] listChildren(InstantiableRelationDefinition<C,S> r, AbstractManagedObjectDefinition<? extends C,? extends S> d) throws java.lang.IllegalArgumentException, ConcurrentModificationException, AuthorizationException, CommunicationException
listChildren
in interface ManagedObject<T extends ConfigurationClient>
C
- The type of client managed object configuration that the
relation definition refers to.S
- The type of server managed object configuration that the
relation definition refers to.r
- The instantiable relation definition.d
- The managed object definition.
java.lang.IllegalArgumentException
- If the relation definition is not associated with this
managed object's definition.
ConcurrentModificationException
- If this managed object has been removed from the server
by another client.
AuthorizationException
- If the server refuses to list the managed objects
because the client does not have the correct
privileges.
CommunicationException
- If the client cannot contact the server due to an
underlying communication problem.public final <C extends ConfigurationClient,S extends Configuration> void removeChild(InstantiableRelationDefinition<C,S> r, java.lang.String name) throws java.lang.IllegalArgumentException, ManagedObjectNotFoundException, OperationRejectedException, ConcurrentModificationException, AuthorizationException, CommunicationException
removeChild
in interface ManagedObject<T extends ConfigurationClient>
C
- The type of client managed object configuration that the
relation definition refers to.S
- The type of server managed object configuration that the
relation definition refers to.r
- The instantiable relation definition.name
- The name of the child managed object to be removed.
java.lang.IllegalArgumentException
- If the relation definition is not associated with this
managed object's definition.
ManagedObjectNotFoundException
- If the managed object could not be removed because it
could not found on the server.
OperationRejectedException
- If the managed object cannot be removed due to some
client-side or server-side constraint which cannot be
satisfied (for example, if it is referenced by another
managed object).
ConcurrentModificationException
- If this managed object has been removed from the server
by another client.
AuthorizationException
- If the server refuses to remove the managed objects
because the client does not have the correct
privileges.
CommunicationException
- If the client cannot contact the server due to an
underlying communication problem.public final <C extends ConfigurationClient,S extends Configuration> void removeChild(OptionalRelationDefinition<C,S> r) throws java.lang.IllegalArgumentException, ManagedObjectNotFoundException, OperationRejectedException, ConcurrentModificationException, AuthorizationException, CommunicationException
removeChild
in interface ManagedObject<T extends ConfigurationClient>
C
- The type of client managed object configuration that the
relation definition refers to.S
- The type of server managed object configuration that the
relation definition refers to.r
- The optional relation definition.
java.lang.IllegalArgumentException
- If the relation definition is not associated with this
managed object's definition.
ManagedObjectNotFoundException
- If the managed object could not be removed because it
could not found on the server.
OperationRejectedException
- If the managed object cannot be removed due to some
client-side or server-side constraint which cannot be
satisfied (for example, if it is referenced by another
managed object).
ConcurrentModificationException
- If this managed object has been removed from the server
by another client.
AuthorizationException
- If the server refuses to remove the managed objects
because the client does not have the correct
privileges.
CommunicationException
- If the client cannot contact the server due to an
underlying communication problem.public final <PD> void setPropertyValue(PropertyDefinition<PD> pd, PD value) throws IllegalPropertyValueException, PropertyIsReadOnlyException, PropertyIsMandatoryException, java.lang.IllegalArgumentException
See the class description for more information regarding pending values.
setPropertyValue
in interface ManagedObject<T extends ConfigurationClient>
PD
- The type of the property to be modified.pd
- The property to be modified.value
- The new pending value for the property, or
null
if the property should be reset to
its default behavior.
IllegalPropertyValueException
- If the new pending value is deemed to be invalid
according to the property definition.
PropertyIsReadOnlyException
- If this is not a new managed object and the property is
read-only or for monitoring purposes.
PropertyIsMandatoryException
- If an attempt was made to remove a mandatory property.
java.lang.IllegalArgumentException
- If the specified property definition is not associated
with this managed object.public final <PD> void setPropertyValues(PropertyDefinition<PD> pd, java.util.Collection<PD> values) throws IllegalPropertyValueException, PropertyIsSingleValuedException, PropertyIsReadOnlyException, PropertyIsMandatoryException, java.lang.IllegalArgumentException
See the class description for more information regarding pending values.
setPropertyValues
in interface ManagedObject<T extends ConfigurationClient>
PD
- The type of the property to be modified.pd
- The property to be modified.values
- A non-null
set of new pending values for
the property (an empty set indicates that the property
should be reset to its default behavior). The set will
not be referenced by this managed object.
IllegalPropertyValueException
- If a new pending value is deemed to be invalid
according to the property definition.
PropertyIsSingleValuedException
- If an attempt was made to add multiple pending values
to a single-valued property.
PropertyIsReadOnlyException
- If this is not a new managed object and the property is
read-only or for monitoring purposes.
PropertyIsMandatoryException
- If an attempt was made to remove a mandatory property.
java.lang.IllegalArgumentException
- If the specified property definition is not associated
with this managed object.public java.lang.String toString()
toString
in class java.lang.Object
protected abstract void addNewManagedObject() throws AuthorizationException, CommunicationException, OperationRejectedException, ConcurrentModificationException, ManagedObjectAlreadyExistsException
ManagedObjectAlreadyExistsException
- If the managed object cannot be added to the server
because it already exists.
ConcurrentModificationException
- If the managed object's parent has been removed by
another client.
OperationRejectedException
- If the managed object cannot be added due to some
client-side or server-side constraint which cannot be
satisfied.
AuthorizationException
- If the server refuses to add this managed object
because the client does not have the correct
privileges.
CommunicationException
- If the client cannot contact the server due to an
underlying communication problem.protected abstract Driver getDriver()
protected final PropertyDefinition<?> getNamingPropertyDefinition()
null
if this
managed object does not have a naming property.protected final <PD> Property<PD> getProperty(PropertyDefinition<PD> pd) throws java.lang.IllegalArgumentException
PD
- The underlying type of the property.pd
- The Property definition.
java.lang.IllegalArgumentException
- If this property provider does not recognize the
requested property definition.protected abstract void modifyExistingManagedObject() throws ConcurrentModificationException, OperationRejectedException, AuthorizationException, CommunicationException
ConcurrentModificationException
- If this managed object has been removed from the server
by another client.
OperationRejectedException
- If the managed object cannot be added due to some
client-side or server-side constraint which cannot be
satisfied.
AuthorizationException
- If the server refuses to modify this managed object
because the client does not have the correct
privileges.
CommunicationException
- If the client cannot contact the server due to an
underlying communication problem.protected abstract <M extends ConfigurationClient> ManagedObject<M> newInstance(ManagedObjectDefinition<M,?> d, ManagedObjectPath<M,?> path, PropertySet properties, boolean existsOnServer, PropertyDefinition<?> namingPropertyDefinition)
M
- The type of client configuration represented by the
client managed object.d
- The managed object's definition.path
- The managed object's path.properties
- The managed object's properties.existsOnServer
- Indicates whether or not the managed object exists on
the server (false means the managed object is new and
has not been committed).namingPropertyDefinition
- Optional naming property definition.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |