Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.apache.derby.iapi.store.access.xa
Class XAXactId  view XAXactId download XAXactId.java

java.lang.Object
  extended byorg.apache.derby.iapi.store.access.GlobalXact
      extended byorg.apache.derby.iapi.store.access.xa.XAXactId
All Implemented Interfaces:
javax.transaction.xa.Xid

public class XAXactId
extends org.apache.derby.iapi.store.access.GlobalXact
implements javax.transaction.xa.Xid

The XAXactId class is a specific implementation of the JTA Xid interface. It is only used by the TransactionTable.restore() interface to return an array of Xid's back to the caller, as part of serving the XAresource.restore() interface.

It is NOT the object that is stored in the log. One reason for this is that the Formattable and Xid interface's define two different return values for the getFormatId() interface.


Field Summary
private static char COLON
          Private Fields of the class
 
Fields inherited from class org.apache.derby.iapi.store.access.GlobalXact
branch_id, format_id, global_id
 
Fields inherited from interface javax.transaction.xa.Xid
MAXBQUALSIZE, MAXGTRIDSIZE
 
Constructor Summary
XAXactId(int format_id, byte[] global_id, byte[] branch_id)
          Construct from given pieces of an Xid.
XAXactId(java.lang.String xactIdString)
           
XAXactId(javax.transaction.xa.Xid xid)
          Construct an Xid using an external Xid.
 
Method Summary
private  void copy_init_xid(int format_id, byte[] global_id, byte[] branch_id)
          initialize by making array copies of appropriate fields.
 boolean equals(java.lang.Object other)
          Determine whether this Object is semantically equal to another Object.
 byte[] getBranchQualifier()
          Obtain the transaction branch qualifier part of the Xid in a byte array.
 int getFormatId()
          Obtain the format id part of the Xid.
 byte[] getGlobalTransactionId()
          Obtain the global transaction identifier part of XID as an array of bytes.
 java.lang.String toHexString()
           
 
Methods inherited from class org.apache.derby.iapi.store.access.GlobalXact
hashCode, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

COLON

private static final char COLON
Private Fields of the class

See Also:
Constant Field Values
Constructor Detail

XAXactId

public XAXactId(int format_id,
                byte[] global_id,
                byte[] branch_id)
Construct from given pieces of an Xid. Makes copies of arrays.


XAXactId

public XAXactId(javax.transaction.xa.Xid xid)
         throws javax.transaction.xa.XAException
Construct an Xid using an external Xid.


XAXactId

public XAXactId(java.lang.String xactIdString)
Method Detail

copy_init_xid

private void copy_init_xid(int format_id,
                           byte[] global_id,
                           byte[] branch_id)
initialize by making array copies of appropriate fields.


toHexString

public java.lang.String toHexString()

getFormatId

public int getFormatId()
Obtain the format id part of the Xid.

Specified by:
getFormatId in interface javax.transaction.xa.Xid

getGlobalTransactionId

public byte[] getGlobalTransactionId()
Obtain the global transaction identifier part of XID as an array of bytes.

Specified by:
getGlobalTransactionId in interface javax.transaction.xa.Xid

getBranchQualifier

public byte[] getBranchQualifier()
Obtain the transaction branch qualifier part of the Xid in a byte array.

Specified by:
getBranchQualifier in interface javax.transaction.xa.Xid

equals

public boolean equals(java.lang.Object other)
Description copied from class: java.lang.Object
Determine whether this Object is semantically equal to another Object.

There are some fairly strict requirements on this method which subclasses must follow:

  • It must be transitive. If a.equals(b) and b.equals(c), then a.equals(c) must be true as well.
  • It must be symmetric. a.equals(b) and b.equals(a) must have the same value.
  • It must be reflexive. a.equals(a) must always be true.
  • It must be consistent. Whichever value a.equals(b) returns on the first invocation must be the value returned on all later invocations.
  • a.equals(null) must be false.
  • It must be consistent with hashCode(). That is, a.equals(b) must imply a.hashCode() == b.hashCode(). The reverse is not true; two objects that are not equal may have the same hashcode, but that has the potential to harm hashing performance.

This is typically overridden to throw a java.lang.ClassCastException if the argument is not comparable to the class performing the comparison, but that is not a requirement. It is legal for a.equals(b) to be true even though a.getClass() != b.getClass(). Also, it is typical to never cause a java.lang.NullPointerException.

In general, the Collections API (java.util) use the equals method rather than the == operator to compare objects. However, java.util.IdentityHashMap is an exception to this rule, for its own good reasons.

The default implementation returns this == o.