Package oracle.jdbc.dcn
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:
- Serialized Form
-
<section role="region">
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classDatabaseChangeEvent.AdditionalEventTypestatic classDatabaseChangeEvent.EventType
-
Field Summary
-
Fields inherited from class java.util.EventObject
source
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedDatabaseChangeEvent(Object source)
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description abstract DatabaseChangeEvent.AdditionalEventTypegetAdditionalEventType()Retrieve the additional event type.abstract StringgetConnectionInformation()Retrieves a description of the TCP connection on which the notification was received.abstract StringgetDatabaseName()Retrieves the name of the database.abstract DatabaseChangeEvent.EventTypegetEventType()Retrieve the event type.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.abstract longgetRegId()Retrieves the identification of the registration that generated this event on the server.abstract intgetRegistrationId()Deprecated.Use getRegId instead.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.abstract byte[]getTransactionId()Returns the id of the transaction (xid) that when committed was responsible for generating this event.abstract StringgetTransactionId(boolean isLittleEndian)Returns the id of the transaction (xid) that when committed was responsible for generating this event.abstract StringtoString()-
Methods inherited from class java.util.EventObject
getSource
-
-
-
<section role="region">
-
Constructor Detail
-
DatabaseChangeEvent
protected DatabaseChangeEvent(Object source)
-
-
Method Detail
-
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
nullfor 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
nullfor 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 dualand you get back17.9.2339. You then commit this transaction which generates an event. CallinggetTransactionId()on this event will return0x11 0x00 0x09 0x00 0x23 0x09 0x00 0x00if the server is running on a little endian platform and0x00 0x11 0x00 0x09 0x00 0x00 0x09 0x23if the server is big endian.- See Also:
getTransactionId(boolean)
-
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 aStringformat. For example, this method returns17.9.2339which is the same value as whatselect dbms_transaction.local_transaction_id from dualwould have returned from the transaction before it was committed.- Parameters:
isLittleEndian- the endian-ness of the server.trueif the server is little endian andfalseotherwise.- See Also:
getTransactionId()
-
toString
public abstract String toString()
- Overrides:
toStringin classEventObject
-
-