© 2005 BEA Systems, Inc.

com.bea.p13n.property
Interface EntityPropertyManager

All Superinterfaces:
EJBObject, Remote
All Known Subinterfaces:
CustomerPropertyManager, LdapPropertyManager

public interface EntityPropertyManager
extends EJBObject

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.

See Also:
ConfigurableEntity

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 propertySet)
          Returns a list of dynamically assigned properties for the given entity, that have been named with the given property set name.
 String[] getEntityNames(String jndiName)
          Return a list of Entity names that have this jndi name.
 String getHomeName(long anEntityId)
          Get the JNDI home name 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.
 
Methods inherited from interface javax.ejb.EJBObject
getEJBHome, getHandle, getPrimaryKey, isIdentical, remove
 

Method Detail

createUniqueId

public long createUniqueId(String jndiHomeName,
                           String pkString)
                    throws RemoteException,
                           ConfigurableEntityCreateException
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:
ConfigurableEntityCreateException - if there is an error
RemoteException

getDynamicProperties

public String[] getDynamicProperties(PropertyLocator locator,
                                     String propertySet)
                              throws RemoteException,
                                     EntityNotFoundException
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
propertySet - the propertySet to look up
Returns:
a String array of property names
Throws:
RemoteException
EntityNotFoundException

getEntityNames

public String[] getEntityNames(String jndiName)
                        throws RemoteException
Return a list of Entity names that have this jndi name.

Parameters:
jndiName - the jndiName to query
Returns:
a list of entity names, or null if none were found
Throws:
RemoteException

getHomeName

public String getHomeName(long anEntityId)
                   throws RemoteException,
                          EntityNotFoundException
Get the JNDI home name for the entity identified by the given entity id

Parameters:
anEntityId - the unique id for the entity to look up
Returns:
the entity's JNDI home name
Throws:
RemoteException
EntityNotFoundException

getProperties

public EntityPropertyCache getProperties(PropertyLocator locator)
                                  throws RemoteException,
                                         EntityNotFoundException
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:
RemoteException
EntityNotFoundException

getProperty

public Object getProperty(PropertyLocator locator,
                          String propertySet,
                          String propertyName)
                   throws RemoteException,
                          EntityNotFoundException
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:
RemoteException
EntityNotFoundException

getPropertyLocator

public PropertyLocator getPropertyLocator(long anEntityId)
                                   throws RemoteException,
                                          EntityNotFoundException
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:
RemoteException
EntityNotFoundException

getUniqueId

public long getUniqueId(String homeName,
                        String pkString)
                 throws RemoteException,
                        EntityNotFoundException
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:
RemoteException
EntityNotFoundException

removeEntity

public void removeEntity(PropertyLocator locator)
                  throws RemoteException,
                         EntityNotFoundException
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:
RemoteException
EntityNotFoundException

removeProperties

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

Parameters:
locator - a PropertyLocator identifying the entity to modify
Throws:
RemoteException
EntityNotFoundException

removeProperty

public Object removeProperty(PropertyLocator locator,
                             String propertySet,
                             String propertyName)
                      throws RemoteException,
                             EntityNotFoundException
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:
RemoteException
EntityNotFoundException

setProperty

public void setProperty(PropertyLocator locator,
                        String propertySet,
                        String propertyName,
                        Object value)
                 throws RemoteException,
                        PropertyValidationException,
                        EntityNotFoundException
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:
PropertyValidationException - if the value is not valid for the given property
RemoteException
EntityNotFoundException

© 2005 BEA Systems, Inc.

Copyright © 2005 BEA Systems, Inc. All Rights Reserved