Overview | Package | Class | Tree | Deprecated | Index | Help
| © 2004 BEA Systems, Inc.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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:

- To map an entire property set: create an environment entry called PropertyMapping/<property set name> which is a String that holds the name of the ejb-ref to use for that property set. For example, PropertyMapping/Ldap might have the value ejb/LdapPropertyManager, which is an ejb-ref pointing to an EntityPropertyManager that goes to an ldap server.
- To map a single property: create an environment entry called PropertyMapping/<property set name>.<property name> which is a String that holds the name of the ejb-ref to use for that property. For example, PropertyMapping/Ldap.fax might have the value ejb/CustomerPropertyManager, which is an ejb-ref pointing to an EntityPropertyManager that goes to a customer database table.

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

### 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`

### 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`

### 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,
                                             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`

### 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`

### 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,
                                      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`

### 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`

### 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`

### 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`

### 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`

### 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`

### 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`

### 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`

### 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`

### 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`

### 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`

### 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`

Overview | Package | Class | Tree | Deprecated | Index | Help
| © 2004 BEA Systems, Inc.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2004 BEA Systems, Inc. All Rights Reserved