Class DatabaseChangeEvent

java.lang.Object
java.util.EventObject
oracle.jdbc.dcn.DatabaseChangeEvent
All Implemented Interfaces:
Serializable

public abstract class DatabaseChangeEvent extends EventObject
Once you have registered your interest into certain objects in the database, you get notified when these objects change. An instance of DatabaseChangeEvent represents such a notification.
See Also:
  • Constructor Details

    • DatabaseChangeEvent

      protected DatabaseChangeEvent(Object source)
  • Method Details

    • getEventType

      public abstract DatabaseChangeEvent.EventType getEventType()
      Retrieve the event type.
    • getAdditionalEventType

      public abstract DatabaseChangeEvent.AdditionalEventType getAdditionalEventType()
      Retrieve the additional event type.
    • getTableChangeDescription

      public abstract TableChangeDescription[] getTableChangeDescription()
      For object change (EVENT_TYPE_OBJCHANGE) kind of events, this method returns the description of the changes for each table that was changed.

      Returns null for other kinds of events.

    • getQueryChangeDescription

      public abstract QueryChangeDescription[] getQueryChangeDescription()
      For query change (EVENT_TYPE_QUERYCHANGE) kind of events, this method returns the description of the changes for each query which result has changed.

      Returns null for other kinds of events.

    • getConnectionInformation

      public abstract String getConnectionInformation()
      Retrieves a description of the TCP connection on which the notification was received.
    • getDatabaseName

      public abstract String getDatabaseName()
      Retrieves the name of the database.
    • getRegistrationId

      public abstract int getRegistrationId()
      Deprecated.
      Use getRegId instead.
      Retrieves the identification of the registration that generated this event on the server.
    • getRegId

      public abstract long getRegId()
      Retrieves the identification of the registration that generated this event on the server.
    • getTransactionId

      public abstract byte[] getTransactionId()
      Returns the id of the transaction (xid) that when committed was responsible for generating this event. This transaction id is in RAW format. It contains 8 bytes: the xid undo segment number (2 bytes), the xid slot number (2 bytes) and the xid sequence number (4 bytes). Each one of these numbers is in the server's machine endian-ness.
      For example: in a local transaction, you execute: select dbms_transaction.local_transaction_id from dual and you get back 17.9.2339. You then commit this transaction which generates an event. Calling getTransactionId() on this event will return 0x11 0x00 0x09 0x00 0x23 0x09 0x00 0x00 if the server is running on a little endian platform and 0x00 0x11 0x00 0x09 0x00 0x00 0x09 0x23 if the server is big endian.
      See Also:
    • getTransactionId

      public abstract String getTransactionId(boolean isLittleEndian)
      Returns the id of the transaction (xid) that when committed was responsible for generating this event. Assuming that you know the endian-ness of the server you can call this method to retrieve the xid in a String format. For example, this method returns 17.9.2339 which is the same value as what select dbms_transaction.local_transaction_id from dual would have returned from the transaction before it was committed.
      Parameters:
      isLittleEndian - the endian-ness of the server. true if the server is little endian and false otherwise.
      See Also:
    • toString

      public abstract String toString()
      Overrides:
      toString in class EventObject