oracle.ifs.common
Class IfsEvent


java.lang.Object

  |

  +--oracle.ifs.common.IfsEvent

All Implemented Interfaces:
java.io.Serializable

public final class IfsEvent
extends java.lang.Object
implements java.io.Serializable

A IfsEvent is a message indicating that a specific LibraryObject was changed in some way.

Every time a LibraryObject is created, altered, or removed, the Internet File System server posts a IfsEvent on that LibraryObject by invoking LibraryObject.postEvent. This posted event is routed to the handleEvent methods of both LibrarySession and that LibraryObject, not just for the session that triggered the event, but for all iFS sessions.

IfsEvent has methods to determine the event type (creation, alteration, or removal of a LibraryObject) and the event status (uncommitted, rolled back, or committed). Only "committed" events are propagated between sessions.

IfsEvents also have a subtype, the meaning of which depends on the event type, event status, and LibraryObject. Document management applications can introduce their own subtypes. An IfsEvent's long payload can also be used for application-specific purposes.

A document management application can extend or override the handleEvent methods for any ClassObjects it introduces. In addition, an application may register to receive events on a specific LibraryObject or class of LibraryObjects by invoking the registerEventHandler or registerClassEventHandler methods of LibrarySession. An application could use this to automatically update a GUI whenever a displayed object is altered (even if it is altered by another session).

See Also:
Serialized Form

Field Summary
static int EVENTSTATUS_COMMITTED
          Event status for committed changes.
static int EVENTSTATUS_ROLLEDBACK
          Event status for rollback of uncommitted changes.
static int EVENTSTATUS_UNCOMMITTED
          Event status for uncommitted changes.
static int EVENTSUBTYPE_ACL_FREED
          Subtype for SPECIAL event for a freed ACL.
static int EVENTSUBTYPE_ACL_INVALIDATED
          Subtype for SPECIAL event for ACLs being invalidated.
static int EVENTSUBTYPE_ATTRIBUTES_RSN_CHANGED
          Subtype for SPECIAL event for Oracle use.
static int EVENTSUBTYPE_AUDITRULE_INVALIDATED
          Subtype for SPECIAL event for AuditRule invalidation.
static int EVENTSUBTYPE_CLASSOBJECT_ATTRIBUTE_ADDED_OR_REMOVED
          Subtype for SPECIAL event for a ClassObject having an Attribute either added or removed.
static int EVENTSUBTYPE_CONTENTQUOTA_CONSUMPTION_CHANGE
          Subtype for SPECIAL event for indicating content being created.
static int EVENTSUBTYPE_DETAILS_CHANGED
          Subtype for SPECIAL event for details changing in a master/detail object relationship.
static int EVENTSUBTYPE_RELATIONSHIP_ADDED
          Subtype for SPECIAL event for Items added to an object.
static int EVENTSUBTYPE_RELATIONSHIP_REMOVED
          Subtype for SPECIAL event for Items removed from an object.
static int EVENTSUBTYPE_RELATIONSHIP_RENAMED
          Subtype for SPECIAL event for Items of an object being renamed.
static int EVENTSUBTYPE_RELATIONSHIPS_CHANGED
          Subtype for SPECIAL event for Relationships changed.
static int EVENTSUBTYPE_SERVICE_KEEP_ALIVE
          Subtype for SPECIAL event for indicating a service is alive.
static int EVENTSUBTYPE_SESSION_LOCK_FREED
          Subtype for SPECIAL event for freeing an object with a session lock.
static int EVENTSUBTYPE_SESSION_LOCK_OBTAINED
          Subtype for SPECIAL event for obtaining a session lock.
static int EVENTSUBTYPE_SESSION_LOCK_RELEASED
          Subtype for SPECIAL event for releasing a session lock.
static int EVENTSUBTYPE_UNKNOWN
          Unknown event subtype.
static int EVENTTYPE_CREATEINSTANCE
          Event type for creation of new objects.
static int EVENTTYPE_FREE
          Event type for freeing existing objects.
static int EVENTTYPE_SETATTRIBUTES
          Event type for alteration of existing objects.
static int EVENTTYPE_SPECIAL
          Event type for special events, as described by the event subtype.
static int EVENTTYPE_UNKNOWN
          Unknown event type.
 
Method Summary
 java.lang.Long getClassId()
          Gets the class id of the LibraryObject that posted the event.
 int getEventStatus()
          Gets the event status.
 int getEventSubtype()
          Gets the event subtype.
 int getEventType()
          Gets the event type.
 java.lang.Long getId()
          Gets the id of the LibraryObject that posted the event.
 long getLongPayload()
          Gets the long payload.
 java.lang.Long getServiceId()
          Gets the service id of the LibraryObject that posted the event.
 java.lang.Long getSessionId()
          Gets the session id of the LibraryObject that posted the event.
 

Field Detail


EVENTTYPE_UNKNOWN


public static final int EVENTTYPE_UNKNOWN
Unknown event type.

EVENTTYPE_CREATEINSTANCE


public static final int EVENTTYPE_CREATEINSTANCE
Event type for creation of new objects.

EVENTTYPE_SETATTRIBUTES


public static final int EVENTTYPE_SETATTRIBUTES
Event type for alteration of existing objects.

EVENTTYPE_FREE


public static final int EVENTTYPE_FREE
Event type for freeing existing objects.

EVENTTYPE_SPECIAL


public static final int EVENTTYPE_SPECIAL
Event type for special events, as described by the event subtype.

EVENTSUBTYPE_UNKNOWN


public static final int EVENTSUBTYPE_UNKNOWN
Unknown event subtype.

EVENTSUBTYPE_ACL_INVALIDATED


public static final int EVENTSUBTYPE_ACL_INVALIDATED
Subtype for SPECIAL event for ACLs being invalidated.

EVENTSUBTYPE_ACL_FREED


public static final int EVENTSUBTYPE_ACL_FREED
Subtype for SPECIAL event for a freed ACL.

EVENTSUBTYPE_RELATIONSHIPS_CHANGED


public static final int EVENTSUBTYPE_RELATIONSHIPS_CHANGED
Subtype for SPECIAL event for Relationships changed.

EVENTSUBTYPE_CLASSOBJECT_ATTRIBUTE_ADDED_OR_REMOVED


public static final int EVENTSUBTYPE_CLASSOBJECT_ATTRIBUTE_ADDED_OR_REMOVED
Subtype for SPECIAL event for a ClassObject having an Attribute either added or removed.

EVENTSUBTYPE_AUDITRULE_INVALIDATED


public static final int EVENTSUBTYPE_AUDITRULE_INVALIDATED
Subtype for SPECIAL event for AuditRule invalidation.

EVENTSUBTYPE_SESSION_LOCK_OBTAINED


public static final int EVENTSUBTYPE_SESSION_LOCK_OBTAINED
Subtype for SPECIAL event for obtaining a session lock.

EVENTSUBTYPE_SESSION_LOCK_RELEASED


public static final int EVENTSUBTYPE_SESSION_LOCK_RELEASED
Subtype for SPECIAL event for releasing a session lock.

EVENTSUBTYPE_SERVICE_KEEP_ALIVE


public static final int EVENTSUBTYPE_SERVICE_KEEP_ALIVE
Subtype for SPECIAL event for indicating a service is alive.

EVENTSUBTYPE_CONTENTQUOTA_CONSUMPTION_CHANGE


public static final int EVENTSUBTYPE_CONTENTQUOTA_CONSUMPTION_CHANGE
Subtype for SPECIAL event for indicating content being created.

EVENTSUBTYPE_RELATIONSHIP_ADDED


public static final int EVENTSUBTYPE_RELATIONSHIP_ADDED
Subtype for SPECIAL event for Items added to an object.

EVENTSUBTYPE_RELATIONSHIP_REMOVED


public static final int EVENTSUBTYPE_RELATIONSHIP_REMOVED
Subtype for SPECIAL event for Items removed from an object.

EVENTSUBTYPE_RELATIONSHIP_RENAMED


public static final int EVENTSUBTYPE_RELATIONSHIP_RENAMED
Subtype for SPECIAL event for Items of an object being renamed.

EVENTSUBTYPE_DETAILS_CHANGED


public static final int EVENTSUBTYPE_DETAILS_CHANGED
Subtype for SPECIAL event for details changing in a master/detail object relationship. The event is posted on the master.

EVENTSUBTYPE_SESSION_LOCK_FREED


public static final int EVENTSUBTYPE_SESSION_LOCK_FREED
Subtype for SPECIAL event for freeing an object with a session lock.

EVENTSUBTYPE_ATTRIBUTES_RSN_CHANGED


public static final int EVENTSUBTYPE_ATTRIBUTES_RSN_CHANGED
Subtype for SPECIAL event for Oracle use.

EVENTSTATUS_UNCOMMITTED


public static final int EVENTSTATUS_UNCOMMITTED
Event status for uncommitted changes.

EVENTSTATUS_ROLLEDBACK


public static final int EVENTSTATUS_ROLLEDBACK
Event status for rollback of uncommitted changes.

EVENTSTATUS_COMMITTED


public static final int EVENTSTATUS_COMMITTED
Event status for committed changes.
Method Detail

getId


public final java.lang.Long getId()
Gets the id of the LibraryObject that posted the event.
Returns:
the id

getClassId


public final java.lang.Long getClassId()
Gets the class id of the LibraryObject that posted the event.
Returns:
the class id

getSessionId


public final java.lang.Long getSessionId()
Gets the session id of the LibraryObject that posted the event.
Returns:
the session id

getServiceId


public final java.lang.Long getServiceId()
Gets the service id of the LibraryObject that posted the event.
Returns:
the service id

getEventType


public final int getEventType()
Gets the event type.
Returns:
the event type

getEventSubtype


public final int getEventSubtype()
Gets the event subtype.
Returns:
the event subtype

getEventStatus


public final int getEventStatus()
Gets the event status.
Returns:
the event status

getLongPayload


public final long getLongPayload()
Gets the long payload.
Returns:
the long payload