javax.slee.profile
Interface ProfileFacility


public interface ProfileFacility

The Profile Facility allows SBB entities to interrogate the profile database to find profiles that match a selection criteria.

SBB JNDI Location:
java:comp/env/slee/facilities/profile


Method Summary
 ProfileID getProfileByIndexedAttribute(java.lang.String profileTableName, java.lang.String attributeName, java.lang.Object attributeValue)
          Get a ProfileID object that identifies the profile contained in the specified profile table, where the specified profile attribute is set to the specified value.
 java.util.Collection getProfiles(java.lang.String profileTableName)
          Get a collection of ProfileID objects that identify all the profiles contained in the specified profile table.
 java.util.Collection getProfilesByIndexedAttribute(java.lang.String profileTableName, java.lang.String attributeName, java.lang.Object attributeValue)
          Get a collection of ProfileID objects that identify the profiles contained in the specified profile table where the specified profile attribute is set to the specified value.
 ProfileTableActivity getProfileTableActivity(java.lang.String profileTableName)
          Get a ProfileTableActivity object for a profile table.
 

Method Detail

getProfiles

public java.util.Collection getProfiles(java.lang.String profileTableName)
                                 throws java.lang.NullPointerException,
                                        UnrecognizedProfileTableNameException,
                                        TransactionRolledbackLocalException,
                                        FacilityException
Get a collection of ProfileID objects that identify all the profiles contained in the specified profile table. The collection returned is immutable. Any attempt to modify it, either directly or indirectly, will result in a java.lang.UnsupportedOperationException being thrown.

Note: A profile identifier for the profile table's default profile will not be included in the collection returned by this method as the default profile has no such identifier.

This method is a required transactional method.

Parameters:
profileTableName - the name of the profile table.
Returns:
a read-only collection of ProfileID objects identifying the profiles contained in the specified profile table.
Throws:
java.lang.NullPointerException - if profileTableName is null.
UnrecognizedProfileTableNameException - if a profile table with the specified name does not exist.
TransactionRolledbackLocalException - if this method was invoked without a valid transaction context and the transaction started by this method failed to commit.
FacilityException - if the iterator could not be obtained due to a system-level failure.

getProfilesByIndexedAttribute

public java.util.Collection getProfilesByIndexedAttribute(java.lang.String profileTableName,
                                                          java.lang.String attributeName,
                                                          java.lang.Object attributeValue)
                                                   throws java.lang.NullPointerException,
                                                          UnrecognizedProfileTableNameException,
                                                          UnrecognizedAttributeException,
                                                          AttributeNotIndexedException,
                                                          AttributeTypeMismatchException,
                                                          TransactionRolledbackLocalException,
                                                          FacilityException
Get a collection of ProfileID objects that identify the profiles contained in the specified profile table where the specified profile attribute is set to the specified value. The collection returned is immutable. Any attempt to modify it, either directly or indirectly, will result in a java.lang.UnsupportedOperationException being thrown.

Note: The profile table's default profile is not considered when determining matching profiles as it has no profile identifier that can be included in the collection returned by this method.

This method is a required transactional method.

Parameters:
profileTableName - the name of the profile table.
attributeName - the name of the profile's attribute to check.
attributeValue - the value to compare the attribute with.
Returns:
a read-only collection of ProfileID objects identifying the profiles contained in the specified profile table, where the specified attribute of each profile equals the specified value.
Throws:
java.lang.NullPointerException - if any argument is null.
UnrecognizedProfileTableNameException - if a profile table with the specified name does not exist.
UnrecognizedAttributeException - if an attribute with the specified name is not defined in the profile specification for the specified profile table.
AttributeNotIndexedException - if the specified attribute is not indexed in the profile specification for the specified profile table.
AttributeTypeMismatchException - if the type of the supplied attribute value does not match the type of the specified indexed attribute.
TransactionRolledbackLocalException - if this method was invoked without a valid transaction context and the transaction started by this method failed to commit.
FacilityException - if the iterator could not be obtained due to a system-level failure.

getProfileByIndexedAttribute

public ProfileID getProfileByIndexedAttribute(java.lang.String profileTableName,
                                              java.lang.String attributeName,
                                              java.lang.Object attributeValue)
                                       throws java.lang.NullPointerException,
                                              UnrecognizedProfileTableNameException,
                                              UnrecognizedAttributeException,
                                              AttributeNotIndexedException,
                                              AttributeTypeMismatchException,
                                              TransactionRolledbackLocalException,
                                              FacilityException
Get a ProfileID object that identifies the profile contained in the specified profile table, where the specified profile attribute is set to the specified value.

Note: The profile table's default profile is not considered when determining matching profiles as it has no profile identifier that can be returned by this method.

This method is a required transactional method.

Parameters:
profileTableName - the name of the profile table.
attributeName - the name of the profile's attribute to check.
attributeValue - the value to compare the attribute with.
Returns:
the profile identifier for the first matching profile, or null if no matching profile was found.
Throws:
java.lang.NullPointerException - if any attribute is null.
UnrecognizedProfileTableNameException - if a profile table with the specified name does not exist.
UnrecognizedAttributeException - if an attribute with the specified name is not defined in the profile specification for the specified profile table.
AttributeNotIndexedException - if the specified attribute is not indexed in the profile specification for the specified profile table.
AttributeTypeMismatchException - if the type of the supplied attribute value does not match the type of the specified indexed attribute.
TransactionRolledbackLocalException - if this method was invoked without a valid transaction context and the transaction started by this method failed to commit.
FacilityException - if the profile identifier could not be obtained due to a system-level failure.

getProfileTableActivity

public ProfileTableActivity getProfileTableActivity(java.lang.String profileTableName)
                                             throws java.lang.NullPointerException,
                                                    UnrecognizedProfileTableNameException,
                                                    TransactionRolledbackLocalException,
                                                    FacilityException
Get a ProfileTableActivity object for a profile table.

This method is a required transactional method.

Parameters:
profileTableName - the name of the profile table.
Returns:
a ProfileTableActivity object for the profile table.
Throws:
java.lang.NullPointerException - if profileTableName is null.
UnrecognizedProfileTableNameException - if a profile table with the specified name does not exist.
TransactionRolledbackLocalException - if this method was invoked without a valid transaction context and the transaction started by this method failed to commit.
FacilityException - if the activity could not be obtained due to a system-level failure.