Class DatabaseChangeEvent

  • All Implemented Interfaces:
    java.io.Serializable

    public abstract class DatabaseChangeEvent
    extends java.util.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:
    Serialized Form
    • Constructor Detail

      • DatabaseChangeEvent

        protected DatabaseChangeEvent​(java.lang.Object source)
    • Method Detail

      • 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 java.lang.String getConnectionInformation()
        Retrieves a description of the TCP connection on which the notification was received.
      • getDatabaseName

        public abstract java.lang.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(boolean)
      • getTransactionId

        public abstract java.lang.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:
        getTransactionId()
      • toString

        public abstract java.lang.String toString()
        Overrides:
        toString in class java.util.EventObject