HierarchicalEntity Interface
- public interface HierarchicalEntity
extends ConfigurableEntity
HierarchicalEntity extends ConfigurableEntity by describing
an interface by which Entities
can be included in a hierachy of successors. The resulting
hierarchy is searched upward when getting Properties.
This design pattern models the Chain of Responsibility Pattern
(Gamma et al).
For example, if an entity A has a successor entity B, and A is
queried for a property but does not have a value persisted for
that property, it will lookup entity B and query it for that
property.
Also, "explicit" successors can be specified as part of a getProperty
method call. These are other ConfigurableEntities that should
be queried after the current entity, but before any persisted
successors.
A HierarchicalEntity can have one successor persisted for each
property set, as well as a "default" successor that is not associated
with a property set. The default successor will be queried in the case
that the current entity does not have a value, the explicit successor
(if one is specified) does not have a value, and the successor for
the property's property set does not have a value.
-
All Known Implementing Classes
-
AbstractHierarchicalEntity
-
All Superinterfaces
-
ConfigurableEntity
public static final String |
-
SUCCESSOR
- property name for an entity's successor
|
SUCCESSOR
public static final String
SUCCESSOR
- property name for an entity's successor
getProperty(String, String, ConfigurableEntity) Method
public Object
getProperty(String
propertySet,
String
propertyName,
ConfigurableEntity
successor)
throws RemoteException
Retrieve the value associated with the named key in the
specified property set. If the entity does not have a value
defined for that property, the property will be searched
in the successor hiearchy using the explicit successor first
and then the successor for the specified scope, and finally
the entity's default successor.
If this search does not return a value, the default value
from the property set will be returned.
Parameters
-
propertySet
- The name of the property set
-
propertyName
- The name of the property to retrieve.
-
successor
- The explicit successor to use for sucessor hiearchy
search if the entity does not have the property defined.
Exceptions
-
RemoteException
getPropertyAsString(String, String, ConfigurableEntity) Method
public String
getPropertyAsString(String
propertySet,
String
propertyName,
ConfigurableEntity
successor)
throws RemoteException
Convenience method to return the property as a String. Follows the
same search order as the getProperty method.
Parameters
-
propertySet
- The name of the property set
-
propertyName
- The name of the property to retrieve.
-
successor
- The explicit successor to use for sucessor hiearchy
search if the entity does not have the property defined.
Exceptions
-
RemoteException
getPropertyNoDefault(String, String, ConfigurableEntity) Method
public Object
getPropertyNoDefault(String
propertySet,
String
propertyName,
ConfigurableEntity
successor)
throws RemoteException
Retrieve the value associated with the property in the
specified property set, but does not return a default value
from the property's PropertyDefinition
if the property does not exist for the entity or in the
hierarchy of successors. This method is used by the implementation
of the getProperty methods so that the search in the
successor hierarchy does not return a default value from
the PropertySet.
Parameters
-
propertySet
- The name of the property set
-
propertyName
- The name of the property to retrieve.
-
successor
- The explicit successor to use for sucessor hiearchy
search if the entity does not have the property defined.
Exceptions
-
RemoteException
getSuccessor(String) Method
public ConfigurableEntity
getSuccessor(String
propertySet)
throws RemoteException
Retrieve the successor for the specified property set.
Parameters
-
propertySet
- The name of the property set
Exceptions
-
RemoteException
removeSuccessor(String) Method
public void removeSuccessor(String
propertySet)
throws RemoteException
Remove the successor for the specified property set
Parameters
-
propertySet
- The name of the property set
Exceptions
-
RemoteException
setSuccessor(String, ConfigurableEntity) Method
public void setSuccessor(String
propertySet,
ConfigurableEntity
successor)
throws RemoteException
Set the successor for the specified property set
Parameters
-
propertySet
- The name of the property set
-
successor
- The property set-level successor used during the
search of a property.
Exceptions
-
RemoteException