© 2005 BEA Systems, Inc.

com.bea.p13n.usermgmt.profile
Interface ProfileManager

All Superinterfaces:
EJBObject, Remote
All Known Subinterfaces:
CustomerProfileManager

public interface ProfileManager
extends EJBObject

ProfileManager is a stateless session bean used to access profile values. It coordinates successor searches and mapping properties to different datasources. To provide a successor to the methods which take one, use the profile name of the successor profile. Each profile manager uses only one type as the successor type; for example, when specifying a successor to a UserProfileManager, it assumes the name is a group profile name. Property mapping is done through the deployment descriptor of the ProfileManager session bean. First, the default EntityPropertyManager to be used must have an ejb-ref named ejb/EntityPropertyManager. Any other EntityPropertyManager's to be used must also have ejb-refs. To map properties to a non-default EntityPropertyManager:

If a property set is mapped to an EntityPropertyManager, and another entry maps one property of that property set to a different EntityPropertyManager, the single property mapping will override the property set mapping. In the previous examples, the LdapPropertyManager would be used for all properties in the Ldap property set except for "fax", which would be retrieved from the CustomerPropertyManager.


Method Summary
 void createProfile(String profileName)
          Create a profile record with the given name.
 void deleteProfile(String profileName)
          Remove a profile
 String[] getAllProfileNames()
          Return a list of all profiles that this ProfileManager knows about.
 String getJndiName()
          Retrieve the jndi name used by this ProfileManager.
 String getProfileName(long entityId)
          Get the name of a profile based on its unique identifier.
 EntityPropertyCache getProperties(String profileName)
          Get all properties for this profile
 EntityPropertyCache getProperties(String profileName, Set propertyMapKeys)
          Get all properties for this profile and property set/name keys contained in the Set of propertyMapKeys
 EntityPropertyCache getProperties(String profileName, String propertySetName)
          Get all properties for this profile and named property set
 Object getProperty(String profileName, String propertySet, String propertyName)
          Get a property from the profile.
 Object getProperty(String profileName, String propertySet, String propertyName, String successor)
          Get a property from the profile.
 String getPropertyAsString(String profileName, String propertySet, String propertyName)
          Get a property from the profile, converted to a String If the property is not found, the default value from the property set will be returned.
 String getPropertyAsString(String profileName, String propertySet, String propertyName, String successor)
          Get a property from the profile as a String.
 Object getPropertyNoDefault(String profileName, String propertySet, String propertyName, String successor)
          Get a property from the profile.
 String getSuccessor(String profileName, String propertySet)
          Retrieve the successor for the specified property set.
 long getUniqueId(String profileName)
          Retrieve the unique identifier generated for this profile.
 boolean profileExists(String profileName)
          Determine if a profile exists
 Object removeProperty(String profileName, String propertySet, String propertyName)
          Remove a property from the profile
 void removeSuccessor(String profileName, String propertySet)
          Remove the successor for the specified property set.
 void setProperty(String profileName, String propertySet, String propertyName, Object value)
          Set a property in the profile
 void setSuccessor(String profileName, String propertySet, String successor)
          Set the successor for the specified property set
 
Methods inherited from interface javax.ejb.EJBObject
getEJBHome, getHandle, getPrimaryKey, isIdentical, remove
 

Method Detail

createProfile

public void createProfile(String profileName)
                   throws RemoteException
Create a profile record with the given name.

Parameters:
profileName - the name of the profile to create
Throws:
RemoteException

deleteProfile

public void deleteProfile(String profileName)
                   throws RemoteException,
                          ProfileNotFoundException
Remove a profile

Parameters:
profileName - the name of the profile to remove
Throws:
RemoteException
ProfileNotFoundException

getAllProfileNames

public String[] getAllProfileNames()
                            throws RemoteException
Return a list of all profiles that this ProfileManager knows about.

Returns:
a String array of profile names, or null if none were found
Throws:
RemoteException

getJndiName

public String getJndiName()
                   throws RemoteException
Retrieve the jndi name used by this ProfileManager. A combination of pk string and jndi name is always unique between profiles.

Returns:
the jndi name for this profile
Throws:
RemoteException

getProfileName

public String getProfileName(long entityId)
                      throws RemoteException,
                             ProfileNotFoundException
Get the name of a profile based on its unique identifier.

Returns:
the profile's name
Throws:
ProfileNotFoundException - if the profile does not exist
RemoteException

getProperties

public EntityPropertyCache getProperties(String profileName)
                                  throws RemoteException,
                                         ProfileNotFoundException
Get all properties for this profile

Parameters:
profileName - the name of the profile for which properties will be retrieved
Returns:
the cache of retrieved properties
Throws:
ProfileNotFoundException - if the profile is not valid
RemoteException
See Also:
EntityPropertyCache, PropertyMapKey

getProperties

public EntityPropertyCache getProperties(String profileName,
                                         Set propertyMapKeys)
                                  throws RemoteException,
                                         ProfileNotFoundException
Get all properties for this profile and property set/name keys contained in the Set of propertyMapKeys

Parameters:
profileName - the name of the profile for which properties will be retrieved
propertyMapKeys - the set of property set/name keys
Returns:
the cache of retrieved properties
Throws:
ProfileNotFoundException - if the profile is not valid
RemoteException
See Also:
EntityPropertyCache, PropertyMapKey

getProperties

public EntityPropertyCache getProperties(String profileName,
                                         String propertySetName)
                                  throws RemoteException,
                                         ProfileNotFoundException
Get all properties for this profile and named property set

Parameters:
profileName - the name of the profile for which properties will be retrieved
propertySetName - the name of the property set to be searched
Returns:
the cache of retrieved properties
Throws:
ProfileNotFoundException - if the profile is not valid
RemoteException
See Also:
EntityPropertyCache, PropertyMapKey

getProperty

public Object getProperty(String profileName,
                          String propertySet,
                          String propertyName)
                   throws RemoteException,
                          ProfileNotFoundException
Get a property from the profile. If the property is not found, the default value from the property set will be returned.

Parameters:
profileName - the name of the profile to read
propertySet - the property set containing the property
propertyName - the name of the property to retrieve
Returns:
the property's value
Throws:
ProfileNotFoundException - if the profile is not valid
RemoteException

getProperty

public Object getProperty(String profileName,
                          String propertySet,
                          String propertyName,
                          String successor)
                   throws RemoteException,
                          ProfileNotFoundException
Get a property from the profile. If the property is not found in the profile, search the profile named in the successor field. If the property is still not found, the default value from the property set will be returned.

Parameters:
profileName - the name of the profile to read
propertySet - the property set containing the property
propertyName - the name of the property to retrieve
successor - the name of the successor whose profile will be searched
Returns:
the property's value
Throws:
ProfileNotFoundException - if the profile or successor is not valid
RemoteException

getPropertyAsString

public String getPropertyAsString(String profileName,
                                  String propertySet,
                                  String propertyName)
                           throws RemoteException,
                                  ProfileNotFoundException
Get a property from the profile, converted to a String If the property is not found, the default value from the property set will be returned.

Parameters:
profileName - the name of the profile to read
propertySet - the property set containing the property
propertyName - the name of the property to retrieve
Returns:
the property's value
Throws:
ProfileNotFoundException - if the profile is not valid
RemoteException

getPropertyAsString

public String getPropertyAsString(String profileName,
                                  String propertySet,
                                  String propertyName,
                                  String successor)
                           throws RemoteException,
                                  ProfileNotFoundException
Get a property from the profile as a String. If the property is not found in the profile, search the profile named in the successor field. If the property is still not found, the default value from the property set will be returned.

Parameters:
profileName - the name of the profile to read
propertySet - the property set containing the property
propertyName - the name of the property to retrieve
successor - the name of the successor whose profile will be searched
Returns:
the property's value
Throws:
ProfileNotFoundException - if the profile or successor is not valid
RemoteException

getPropertyNoDefault

public Object getPropertyNoDefault(String profileName,
                                   String propertySet,
                                   String propertyName,
                                   String successor)
                            throws RemoteException,
                                   ProfileNotFoundException
Get a property from the profile. If the property is not found in the profile, search the profile named in the successor field. This version will not return the default from the property set.

Parameters:
profileName - the name of the profile to read
propertySet - the property set containing the property
propertyName - the name of the property to retrieve
successor - the name of the successor whose profile will be searched
Returns:
the property's value
Throws:
ProfileNotFoundException - if the profile or successor is not valid
RemoteException

getSuccessor

public String getSuccessor(String profileName,
                           String propertySet)
                    throws RemoteException,
                           ProfileNotFoundException
Retrieve the successor for the specified property set. For user and group profiles, this will always be a group name.

Parameters:
profileName - the name of the profile to read
propertySet - The name of the property set
Returns:
the successor's name
Throws:
ProfileNotFoundException - if the profile is not valid
RemoteException

getUniqueId

public long getUniqueId(String profileName)
                 throws RemoteException,
                        ProfileNotFoundException
Retrieve the unique identifier generated for this profile. The unique identifier is used by the EntityPropertyManager to optimize the foreign keys in the persistent storage.

Parameters:
profileName - the name of the profile to read
Returns:
this entity's unique id
Throws:
ProfileNotFoundException - if the profile does not exist
RemoteException

profileExists

public boolean profileExists(String profileName)
                      throws RemoteException
Determine if a profile exists

Parameters:
profileName - the name to look for
Returns:
true if it exists, false otherwise
Throws:
RemoteException

removeProperty

public Object removeProperty(String profileName,
                             String propertySet,
                             String propertyName)
                      throws RemoteException,
                             ProfileNotFoundException
Remove a property from the profile

Parameters:
profileName - the name of the profile to modify
propertySet - the property set containing the property
propertyName - the name of the property to retrieve
Returns:
the old value of the property
Throws:
ProfileNotFoundException - if the profile is not valid
RemoteException

removeSuccessor

public void removeSuccessor(String profileName,
                            String propertySet)
                     throws RemoteException,
                            ProfileNotFoundException
Remove the successor for the specified property set.

Parameters:
profileName - the name of the profile to modify
propertySet - The name of the property set
Throws:
ProfileNotFoundException - if the profile is not valid
RemoteException

setProperty

public void setProperty(String profileName,
                        String propertySet,
                        String propertyName,
                        Object value)
                 throws PropertyValidationException,
                        ProfileNotFoundException,
                        RemoteException
Set a property in the profile

Parameters:
profileName - the name of the profile to modify
propertySet - the property set containing the property
propertyName - the name of the property to retrieve
value - the new value for the property
Throws:
PropertyValidationException - if the new value is not valid
ProfileNotFoundException - if the profile is not valid
RemoteException

setSuccessor

public void setSuccessor(String profileName,
                         String propertySet,
                         String successor)
                  throws RemoteException,
                         ProfileNotFoundException
Set the successor for the specified property set

Parameters:
profileName - the name of the profile to modify
propertySet - The name of the property set
successor - the name of the successor profile to set
Throws:
ProfileNotFoundException - if the profile or the successor is not valid
RemoteException

© 2005 BEA Systems, Inc.

Copyright © 2005 BEA Systems, Inc. All Rights Reserved