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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
DatabaseChangeEvent.AdditionalEventType
static class
DatabaseChangeEvent.EventType
-
Field Summary
-
Fields inherited from class java.util.EventObject
source
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
DatabaseChangeEvent(Object source)
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description abstract DatabaseChangeEvent.AdditionalEventType
getAdditionalEventType()
Retrieve the additional event type.abstract String
getConnectionInformation()
Retrieves a description of the TCP connection on which the notification was received.abstract String
getDatabaseName()
Retrieves the name of the database.abstract DatabaseChangeEvent.EventType
getEventType()
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 long
getRegId()
Retrieves the identification of the registration that generated this event on the server.abstract int
getRegistrationId()
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 String
getTransactionId(boolean isLittleEndian)
Returns the id of the transaction (xid) that when committed was responsible for generating this event.abstract String
toString()
-
Methods inherited from class java.util.EventObject
getSource
-
-
-
-
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
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 back17.9.2339
. You then commit this transaction which generates an event. CallinggetTransactionId()
on this event will return0x11 0x00 0x09 0x00 0x23 0x09 0x00 0x00
if the server is running on a little endian platform and0x00 0x11 0x00 0x09 0x00 0x00 0x09 0x23
if 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 aString
format. For example, this method returns17.9.2339
which is the same value as whatselect 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 andfalse
otherwise.- See Also:
getTransactionId()
-
toString
public abstract String toString()
- Overrides:
toString
in classEventObject
-
-