All Downloads are FREE. Search and download functionalities are using the official Maven repository.

javax.slee.profile.Profile Maven / Gradle / Ivy

package javax.slee.profile;

import javax.slee.CreateException;

/**
 * This interface must be implemented by a profile abstract class included in a
 * Profile Specification.
 * 

* Additional method declarations *
* A Profile Specification Developer may define or implement a number of additional * methods in the profile abstract class that follow certain design patterns. These are: *

    *
  • Methods invoked by profile objects. These methods are abstract and are implemented * by the SLEE when the profile specification is deployed. These methods may throw a * javax.slee.SLEEException if the operation could not be successfully * completed due to a system-level failure. *
      *
    • Usage Parameters Interface accessor methods: *
      * These two methods are only defined in the profile abstract class if the profile * specification defines a Usage Parameters Interface. The first method provides access * to the profile table's unnamed usage parameter set while the second provides access * to a named usage parameter set. *

      *

        public abstract <usage-parameters-interface-name> * getDefaultUsageParameterSet();
      *

      *

        public abstract <usage-parameters-interface-name> * getUsageParameterSet(String paramSetName) throws * javax.slee.usage.UnrecognizedUsageParameterSetNameException;
      *

      * where: *

        * usage-parameters-interface-name is the name of the profile * specification's usage parameters interface. *

      * These methods run in an unspecified transaction context, therefore an active transaction * is not necessary in order for these methods to be successfully invoked. Additionally * these method may be invoked by a profile object in any state. *

    *
* @since SLEE 1.1 */ public interface Profile { /** * Set the ProfileContext object for the Profile object. The SLEE invokes * this method immediately after a new Profile object has been created. If the Profile * object needs to use the ProfileContext object during its lifetime, it * should store the ProfileContext object reference in an instance variable. *

* This method is invoked with an unspecified transaction context. The Profile object * cannot access its persistent CMP state or invoke mandatory transactional methods * during this method invocation. *

* @param context the ProfileContext object given to the Profile object by * the SLEE. */ public void setProfileContext(ProfileContext context); /** * Unset the ProfileContext object for the Profile object. If the Profile * object stored a reference to the ProfileContext object given to it in * the {@link #setProfileContext} method, the Profile object should clear that reference * during this method. *

* This is the last method invoked on a Profile object before it becomes a candidate for * garbage collection. *

* This method is invoked with an unspecified transaction context. The Profile object * cannot access its persistent CMP state or invoke mandatory transactional methods * during this method invocation. */ public void unsetProfileContext(); /** * The SLEE invokes this method on a Profile object in the Pooled state only when the * default Profile for a Profile Table is created. This method allows the CMP fields * to be initialized to suitable defaults for other Profiles that are created in the * Profile Table. *

* This method is invoked with an active transaction context. * The SLEE follows a call to this method with a call to {@link #profilePostCreate}, * and {@link #profileStore} in the same transaction. */ public void profileInitialize(); /** * The SLEE invokes this method on a Profile object in the Pooled state when a new * Profile is created. This method is invoked after the persistent representation * of the Profile has been created. If this method is called on the default Profile (ie. * when the default Profile is being created), the CMP fields contain the values set by * the {@link #profileInitialize} method. For all other profiles, the CMP fields are * prepopulated with a copy of the values stored in the default Profile. *

* The Profile object enters the Ready state after this method returns. *

* If the default Profile is being created, this method is invoked with the same transaction * context that the corresponding {@link #profileInitialize} method was invoked with. * @throws CreateException this exception may be thrown by the profile code if the Profile * could not be created successfully. */ public void profilePostCreate() throws CreateException; /** * The SLEE invokes this method on a Profile object in the Pooled state when the SLEE * reassigns the Profile object to an existing Profile. This method gives the Profile * object a chance to initialize additional transient state and acquire additional * resources that it needs while it is in the Ready state. The Profile object transitions * from the Pooled state to the Ready state after this method returns. *

* This method is invoked with an unspecified transaction context. The Profile object * cannot access its persistent CMP state or invoke mandatory transactional methods * during this method invocation. */ public void profileActivate(); /** * The SLEE invokes this method on a Profile object in the Ready state when the SLEE * needs to reclaim the Profile object. This method gives the Profile object a chance * to release any state or resources, typically allocated during the * {@link #profileActivate} method, that should not be held while the Profile object * is in the Pooled state. *

* This method is invoked with an unspecified transaction context. The Profile object * cannot access its persistent CMP state or invoke mandatory transactional methods * during this method invocation. */ public void profilePassivate(); /** * The SLEE invokes this method on a Profile object in the Ready state when the state of * the Profile object needs to be synchronized with the state in the underlying data source. * The Profile object should reload from CMP fields any transient state that depends on the * state stored in those CMP fields. *

* This method is invoked with an active transaction context. */ public void profileLoad(); /** * The SLEE invokes this method on a Profile object in the Ready state when the state of * the underlying data source needs to be synchronized with the state of the Profile object. * The Profile object should store into CMP fields any transient state that depends on the * state stored in those CMP fields. *

* This method is invoked with an active transaction context. */ public void profileStore(); /** * The SLEE invokes this method on a Profile object in the Ready state when a Profile is * removed. Any resources obtained by the Profile object during {@link #profilePostCreate} * or {@link #profileActivate} should be released by the Profile object. The Profile object * transitions to the Pooled state after this method returns. *

* This method is invoked with an active transaction context. */ public void profileRemove(); /** * The SLEE invokes this method in response to a request made by the Administrator via the * JMX management interface to commit any changes made to a Profile. The Profile object * should verify that the values stored in the CMP fields of the Profile form a valid * Profile. If not, a {@link ProfileVerificationException} should be thrown. *

* The {@link #profileStore} method is invoked in the same transaction context before this * method in order to ensure that the CMP fields of the Profile object are synchronized with * any transient state stored by the Profile object. * @throws ProfileVerificationException if the Profile fails any verification check. */ public void profileVerify() throws ProfileVerificationException; }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy