package javax.slee.profile;
import javax.slee.Address;
/**
* This interface is implemented by profile updated events generated by
* <code>ProfileMBean</code> objects when a profile is updated.
* <p>
* The event type name of profile updated events is
* "<code>javax.slee.profile.ProfileUpdatedEvent</code>".
*/
public interface ProfileUpdatedEvent {
/**
* Get the profile identifier for the profile that was updated.
* @return the profile identifier for the profile that was updated.
*/
public ProfileID getProfile();
/**
* Get the address of the profile that was updated. This method is equivalent
* to {@link ProfileID#toAddress() this.getProfile().toAddress()}.
* @return the address of the profile that was updated.
*/
public Address getProfileAddress();
/**
* Get the committed state of the profile before it was updated. The actual type of the
* return value is the Profile CMP Interface defined by the profile specification
* of the profile table in which the profile resides, and may be safely typecast
* using the normal Java typecast mechanism.
* <p>
* The object returned from this method is only valid within the event-handler transaction
* in which the event was delivered to an SBB entity. The state contained in the
* object is read-only and cannot be modified.
* @return the committed state of the profile before it was updated. This method may
* return <code>null</code> in the case where the required profile specification
* classes are not available in the classloader of the calling SLEE component,
* eg. the SLEE component's deployment descriptor has not defined a reference
* to the profile specification of this event's profile table.
* @deprecated Replaced with {@link #getBeforeUpdateProfileLocal()} ()} which returns an
* object implementing the Profile Local Interface rather than the Profile CMP
* Interface.
*/
public Object getBeforeUpdateProfile();
/**
* Get the committed state of the profile after it was updated. The actual type of the
* return value is the Profile CMP Interface defined by the profile specification
* of the profile table in which the profile resides, and may be safely typecast
* using the normal Java typecast mechanism.
* <p>
* The object returned from this method is only valid within the event-handler transaction
* in which the event was delivered to an SBB entity. The state contained in the
* object is read-only and cannot be modified.
* @return the committed state of the profile after it was updated. This method may
* return <code>null</code> in the case where the required profile specification
* classes are not available in the classloader of the calling SLEE component,
* eg. the SLEE component's deployment descriptor has not defined a reference
* to the profile specification of this event's profile table.
* @deprecated Replaced with {@link #getAfterUpdateProfileLocal()} ()} which returns an
* object implementing the Profile Local Interface rather than the Profile CMP
* Interface.
*/
public Object getAfterUpdateProfile();
/**
* Get a profile local object associated with the committed state of the profile
* before it was updated. The actual type of the return value is the Profile Local
* Interface defined by the profile specification of the profile table in which the
* profile resides, and may be safely typecast using the normal Java typecast mechanism.
* <p>
* The object returned from this method is only valid within the event-handler transaction
* in which the event was delivered to an SBB entity. The state accessed via the
* profile local object is read-only and cannot be modified.
* @return a profile local object associated with the committed state of the profile
* before it was updated. This method may return <code>null</code> in the case where
* the required profile specification classes are not available in the classloader
* of the calling SLEE component, eg. the SLEE component's deployment descriptor
* has not defined a reference to the profile specification of this event's profile
* table.
* @since SLEE 1.1
*/
public ProfileLocalObject getBeforeUpdateProfileLocal();
/**
* Get a profile local object associated with the committed state of the profile
* after it was updated. The actual type of the return value is the Profile Local
* Interface defined by the profile specification of the profile table in which the
* profile resides, and may be safely typecast using the normal Java typecast mechanism.
* <p>
* The object returned from this method is only valid within the event-handler transaction
* in which the event was delivered to an SBB entity. The state accessed via the
* profile local object is read-only and cannot be modified.
* @return a profile local object associated with the committed state of the profile
* after it was updated. This method may return <code>null</code> in the case where
* the required profile specification classes are not available in the classloader
* of the calling SLEE component, eg. the SLEE component's deployment descriptor
* has not defined a reference to the profile specification of this event's profile
* table.
* @since SLEE 1.1
*/
public ProfileLocalObject getAfterUpdateProfileLocal();
}