javax.slee.profile
Interface ProfileMBean


public interface ProfileMBean

This interface must be implemented by a Profile MBean Class generated by the SLEE for a profile specification. This interface contains essential operations for managaing the life-cycle of Profile MBean objects.


Method Summary
 void closeProfile()
          Notify the SLEE that the profile is no longer required by the management client.
 void commitProfile()
          Request that changes made to a profile be committed by the SLEE.
 void editProfile()
          Request that the client be granted read/write access to the profile so that it may be updated.
 boolean isProfileDirty()
          Determine if the profile has been modified since the request to edit the profile.
 boolean isProfileWriteable()
          Get the current read-write status of the profile.
 void restoreProfile()
          Request that changes made to profile should be discarded by the SLEE.
 

Method Detail

editProfile

public void editProfile()
                 throws ManagementException
Request that the client be granted read/write access to the profile so that it may be updated. If the client already has read/write access to the profile, this method returns silently.
Throws:
ManagementException - if the profile could not be opened in read/write mode due to a system-level failure.

commitProfile

public void commitProfile()
                   throws InvalidStateException,
                          ProfileVerificationException,
                          ManagementException
Request that changes made to a profile be committed by the SLEE. If this method returns successfully, the SLEE must again permit the client read-only access to the profile.
Throws:
InvalidStateException - if the client does not have read/write access to the profile, ie isProfileWriteable() returns false.
ProfileVerificationException - if thrown by the ProfileManagement.profileVerify() callback method in the profile's Profile Management Abstract Class. This exception can also be thrown by the profile MBean if the deployment descriptor for the profile specification documents an indexed attribute as requiring unique values and a non-unique value has been supplied in the profile.
ManagementException - if the commit operation could not be successfully completed due to a system-level failure.

restoreProfile

public void restoreProfile()
                    throws InvalidStateException,
                           ManagementException
Request that changes made to profile should be discarded by the SLEE. This method is typically invoked by a management client, but may also be invoked by the SLEE if a client session times out. If this method returns successfully, the SLEE must again permit the client read-only access to the profile.
Throws:
InvalidStateException - if the client does not have read/write access to the profile, ie isProfileWriteable() returns false.
ManagementException - if the restore operation could not be successfully completed due to a system-level failure.

closeProfile

public void closeProfile()
                  throws InvalidStateException,
                         ManagementException
Notify the SLEE that the profile is no longer required by the management client. As the SLEE may subsequently deregister the profile from the MBean server if no other client is currently accessing the profile, a client that invokes this method should assume that the Object Name they had for the profile is no longer valid once this method returns.
Throws:
InvalidStateException - if the profile is in read-write mode and contains uncommitted changes.
ManagementException - if the profile could not be closed by the SLEE due to a system-level failure.

isProfileDirty

public boolean isProfileDirty()
                       throws ManagementException
Determine if the profile has been modified since the request to edit the profile.
Returns:
true if the profile has been modified in the current editing session, false if the profile hasn't been modified or the profile is read-only to the client.
Throws:
ManagementException - if it could not be determined if the profile has been modified due to a system-level failure.

isProfileWriteable

public boolean isProfileWriteable()
                           throws ManagementException
Get the current read-write status of the profile.
Returns:
true if the profile MBean may be changed by the management client, ie. editProfile() has been successfully invoked, false otherwise.
Throws:
ManagementException - if the read-write status of the profile could not be interrogated due to a system-level failure.