|
© 2004 BEA Systems, Inc. | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.bea.p13n.property.AbstractConfigurableEntity
com.bea.p13n.property.ConfigurableEntityImpl
com.bea.p13n.property.HierarchicalEntityImpl
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.
Field Summary | |
protected static String |
FIND_BY_PK
finder method name |
Fields inherited from class com.bea.p13n.property.ConfigurableEntityImpl |
_ctx, _environmentNamingContext, COMMERCE_POOL, ENTITY_PROPERTY_MANAGER, entityPropertyManager, JNDI_NAME, PROPERTY_SET_MANAGER, PROPERTY_SET_TYPE, propertyLocator, psManager, textFormatter, uid |
Fields inherited from class com.bea.p13n.property.AbstractConfigurableEntity |
CE_METHOD_CACHE, instanceClass, PREFIX_GET, PREFIX_SET, propertyCache |
Fields inherited from interface com.bea.p13n.property.ConfigurableEntity |
RESERVED_PROPERTY_SET |
Constructor Summary | |
HierarchicalEntityImpl()
|
Method Summary | |
protected Method |
getFindByPrimaryKey(Class homeClass,
Class[] params)
Get the findByPrimaryKey method from a home interface. |
protected Object |
getImplicitProperty(String propertySet,
String propertyName)
Override ConfigurableEntity.getImplicitProperty to do a successor search if the property was not found in this entity |
protected Object |
getImplicitProperty(String propertySet,
String propertyName,
ConfigurableEntity explicitSuccessor)
Search for the property value in the default database tables; first in the current entity, then in the explicit successor entity, then in the implicit successor for the property set, and finally in the default implicit successor for this entity. |
Object |
getProperty(String propertySet,
String propertyName,
ConfigurableEntity successor)
Retrieve the value associated with the named key in the specified property set. |
String |
getPropertyAsString(String propertySet,
String propertyName,
ConfigurableEntity successor)
Convenience method to return the property as a String. |
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. |
ConfigurableEntity |
getSuccessor(String propertySet)
Retrieve the successor associated with this ConfigurableEntity for the specified property set. |
protected ConfigurableEntity |
getSuccessorFromId(Long anEntityId)
Get the entity represented by a unique entity id. |
void |
removeSuccessor(String propertySet)
Remove the successor for the specified propertySet. |
void |
setSuccessor(String propertySet,
ConfigurableEntity successor)
This sets the successor for this object. |
Methods inherited from class com.bea.p13n.property.AbstractConfigurableEntity |
createMapKey, getCachedProperty, getExplicitProperty, getExplicitSetter, getPropertyAsString, getPropertyNoDefault, hasExplicitGetter, hasExplicitSetter, removeExplicitProperty, setExplicitProperty, upcaseFirst |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected static final String FIND_BY_PK
Constructor Detail |
public HierarchicalEntityImpl()
Method Detail |
protected Method getFindByPrimaryKey(Class homeClass, Class[] params)
protected Object getImplicitProperty(String propertySet, String propertyName) throws RemoteException
getImplicitProperty
in class AbstractConfigurableEntity
propertySet
- The name of the property setpropertyName
- The name of the property to retrieve.
RemoteException
protected Object getImplicitProperty(String propertySet, String propertyName, ConfigurableEntity explicitSuccessor) throws RemoteException
propertySet
- The name of the property setpropertyName
- The name of the property to retrieve.explicitSuccessor
- The explicit successor to use for sucessor hiearchy
search if the entity does not have the property defined.
RemoteException
public Object getProperty(String propertySet, String propertyName, ConfigurableEntity successor) throws RemoteException
propertySet
- The name of the property setpropertyName
- 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.
RemoteException
public String getPropertyAsString(String propertySet, String propertyName, ConfigurableEntity successor) throws RemoteException
propertySet
- The name of the property setpropertyName
- 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.
RemoteException
public Object getPropertyNoDefault(String propertySet, String propertyName, ConfigurableEntity successor) throws RemoteException
propertySet
- The name of the property setpropertyName
- 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.
RemoteException
public ConfigurableEntity getSuccessor(String propertySet) throws RemoteException
propertySet
- the property set to look in
RemoteException
protected ConfigurableEntity getSuccessorFromId(Long anEntityId) throws RemoteException
anEntityId
- the successor's unique entity id
RemoteException
public void removeSuccessor(String propertySet)
public void setSuccessor(String propertySet, ConfigurableEntity successor)
successor
-
|
© 2004 BEA Systems, Inc. | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |