HierarchicalEntity Interface

com.bea.p13n.property
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

Field Summary

public static final String
SUCCESSOR
property name for an entity's successor
   
Fields from interface com.bea.p13n.property.ConfigurableEntity
RESERVED_PROPERTY_SET
 

Method Summary

public Object
getProperty(String propertySet, String propertyName, ConfigurableEntity successor)
Retrieve the value associated with the named key in the specified property set.
public String
getPropertyAsString(String propertySet, String propertyName, ConfigurableEntity successor)
Convenience method to return the property as a String.
public Object
getPropertyNoDefault(String propertySet, String propertyName, ConfigurableEntity successor)
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.
public ConfigurableEntity
getSuccessor(String propertySet)
Retrieve the successor for the specified property set.
public void
removeSuccessor(String propertySet)
Remove the successor for the specified property set
public void
setSuccessor(String propertySet, ConfigurableEntity successor)
Set the successor for the specified property set
 
Methods from interface com.bea.p13n.property.ConfigurableEntity
getJndiName, getPkString, getProperty, getPropertyAsString, getPropertyNoDefault, getUniqueId, removeProperty, setProperty
   

Field Detail

SUCCESSOR

public static final String SUCCESSOR
property name for an entity's successor

 

Method Detail

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