© 2003 BEA Systems, Inc.

com.bea.p13n.controls.ejb.property
Interface EntityPropertyManager

All Superinterfaces:
com.bea.control.Control, weblogic.jws.control.Control, Serializable

public interface EntityPropertyManager
extends weblogic.jws.control.Control

EntityPropertyManager is the remote interface for a session bean that manages persistence of ConfigurableEntity EJB's and their properties. The default implementation uses the WLPS database as its backing store, other implementations may use other datastores such as an LDAP server.

Each ConfigurableEntity must have an ejb-ref in its deployment descriptor that can be used to identify the correct EntityPropertyManager to use.

This control requires that the EntityProperty EJB has been deployed to the application. The EntityProperty EJB is contained in p13n_ejb.jar, and is automatically deployed as part of a Portal application.

See Also:
EntityPropertyManager, EntityPropertyCache, ConfigurableEntity, PropertyLocator

Method Summary
 long createUniqueId(String jndiHomeName, String pkString)
          Create a record for a new ConfigurableEntity, as identified by the given jndiHomeName and pkString.
 String[] getDynamicProperties(PropertyLocator locator, String pkString)
          Returns a list of dynamically assigned properties for the given entity, that have been named with the given property set name.
 String[] getEntityNames(String anEntityId)
          Get the PropertyLocator for the entity identified by the given entity id
 EntityPropertyCache getProperties(PropertyLocator locator)
          Returns an EntityPropertyCache full of all properties that are persisted for the given ConfigurableEntity
 Object getProperty(PropertyLocator locator, String propertySet, String propertyName)
          Returns the value of the property defined for the specified property and property set.
 PropertyLocator getPropertyLocator(long anEntityId)
          Get the PropertyLocator for the entity identified by the given entity id
 long getUniqueId(String homeName, String pkString)
          Returns the number that uniquely identifies the entity specified by the home name and the pk string.
 void removeEntity(PropertyLocator locator)
          Remove all properties, and the entity record, for the entity identified by the given property locator
 void removeProperties(PropertyLocator locator)
          Removes all property values associated with the entity specified by the property locator.scope
 Object removeProperty(PropertyLocator locator, String propertySet, String propertyName)
          Removes a specific property value from the entity specified by the property locator.
 void setProperty(PropertyLocator locator, String propertySet, String propertyName, Object value)
          Sets the property identified by the given property set and property name to the given value for the entity specified by the given property locator.
 

Method Detail

createUniqueId

public long createUniqueId(String jndiHomeName,
                           String pkString)
                    throws P13nControlException
Create a record for a new ConfigurableEntity, as identified by the given jndiHomeName and pkString.

Parameters:
jndiHomeName - the entity's home name
pkString - the entity's identifier string
Returns:
the newly created entity id
Throws:
P13nControlException - if there is an error creating the new Configurable Entity.

getDynamicProperties

public String[] getDynamicProperties(PropertyLocator locator,
                                     String pkString)
                              throws P13nControlException
Returns a list of dynamically assigned properties for the given entity, that have been named with the given property set name. Dynamic properties are properties that have values persisted, and may even have a property set name, but are not actually defined in a property set.

Dynamic properties could exist if the property set definition has been changed to remove a property but the given entity still has a value for this property. They could also exist if the entity has properties that were set using the property set name as the scope, but the property set definition does not contain the properties.

If the given property set name is null then this method returns the property names that were set for this entity using null for the property set name.

Parameters:
locator - a PropertyLocator identifying the entity to look up
Returns:
a String array of property names
Throws:
P13nControlException - if the Entity cannot be found

getEntityNames

public String[] getEntityNames(String anEntityId)
                        throws P13nControlException
Get the PropertyLocator for the entity identified by the given entity id

Parameters:
anEntityId - the unique id for the entity to look up
Returns:
the entity's PropertyLocator
Throws:
P13nControlException - if database errors occur while attempting the query

getProperties

public EntityPropertyCache getProperties(PropertyLocator locator)
                                  throws P13nControlException
Returns an EntityPropertyCache full of all properties that are persisted for the given ConfigurableEntity

Parameters:
locator - a PropertyLocator that identifies the entity
Returns:
a populated EntityPropertyCache
Throws:
P13nControlException - if the entity is not found

getProperty

public Object getProperty(PropertyLocator locator,
                          String propertySet,
                          String propertyName)
                   throws P13nControlException
Returns the value of the property defined for the specified property and property set.

If the property does not have a value persisted, then null is returned.

Parameters:
locator - a PropertyLocator identifying the entity to look up
propertySet - the name of the property set
propertyName - the name of the property
Returns:
the property's value, or null if there is none
Throws:
P13nControlException - if the Entity cannot be found

getPropertyLocator

public PropertyLocator getPropertyLocator(long anEntityId)
                                   throws P13nControlException
Get the PropertyLocator for the entity identified by the given entity id

Parameters:
anEntityId - the unique id for the entity to look up
Returns:
the entity's PropertyLocator
Throws:
P13nControlException - if the Entity cannot be found

getUniqueId

public long getUniqueId(String homeName,
                        String pkString)
                 throws P13nControlException
Returns the number that uniquely identifies the entity specified by the home name and the pk string.

If the entity is not found, -1 will be returned.

Parameters:
homeName - the entity's JNDI home name
pkString - the entity's string identifier
Returns:
the entity's unique id, or -1 if it was not found
Throws:
P13nControlException - if the Entity cannot be found

removeEntity

public void removeEntity(PropertyLocator locator)
                  throws P13nControlException
Remove all properties, and the entity record, for the entity identified by the given property locator

Parameters:
locator - the PropertyLocator identifying the entity to remove
Throws:
P13nControlException - if the Entity cannot be found

removeProperties

public void removeProperties(PropertyLocator locator)
                      throws P13nControlException
Removes all property values associated with the entity specified by the property locator.scope

Parameters:
locator - a PropertyLocator identifying the entity to modify
Throws:
P13nControlException - if the Entity cannot be found

removeProperty

public Object removeProperty(PropertyLocator locator,
                             String propertySet,
                             String propertyName)
                      throws P13nControlException
Removes a specific property value from the entity specified by the property locator.

Parameters:
locator - a PropertyLocator identifying the entity to modify
propertySet - the property set containing the property to remove
propertyName - the name of the property to remove
Returns:
The old value of the property, if any
Throws:
P13nControlException - if the Entity cannot be found

setProperty

public void setProperty(PropertyLocator locator,
                        String propertySet,
                        String propertyName,
                        Object value)
                 throws P13nControlException
Sets the property identified by the given property set and property name to the given value for the entity specified by the given property locator.

Parameters:
locator - a PropertyLocator identifying the entity to modify
propertySet - the property set containing the property to modify
propertyName - the name of the property to modify
value - the value to persist for the given property and entity
Throws:
P13nControlException - if the entity cannot be found, or if the value is not valid for the given property

© 2003 BEA Systems, Inc.

Copyright © 2003 BEA Systems, Inc. All Rights Reserved