tyrex.tm.xid

Class XidUtils

public final class XidUtils extends Object

Utility class for creating transaction identifiers, importing Xid objects, and converting a transaction identifier to/from a string representation.

Version: $Revision: 1.2 $

Author: Assaf Arkin

Field Summary
protected static byte[]EMPTY_ARRAY
The default branch is always an empty byte array.
static intFORMAT_ID
Format identifier for all internal Xids or newly created Xids.
protected static char[]HEX_DIGITS
Efficient mapping from 4 bit value to lower case hexadecimal digit.
static StringXID_PREFIX
Prefix for textual identifier.
Method Summary
static XidimportXid(Xid xid)
Imports a transaction identifier.
static XidimportXid(int formatId, byte[] global, byte[] branch)
Imports a transaction identifier.
static booleanisBranch(Xid xid)
Returns true if the transaction identifier represents a branch transaction.
static booleanisGlobal(Xid xid)
Returns true if the transaction identifier represents a global transaction.
static booleanisLocal(Xid xid)
Returns true if the transaction identifier represents a local transaction.
static XidnewBranch(Xid xid)
Creates a new transaction branch.
static XidnewGlobal()
Create a new global transaction identifier.
static XidnewLocal()
Create a new local transaction identifier.
static Xidparse(String identifier)
Constructs a transaction identifier from a string representation.
static StringtoString(Xid xid)
Converts an Xid into a string representation.

Field Detail

EMPTY_ARRAY

protected static final byte[] EMPTY_ARRAY
The default branch is always an empty byte array.

FORMAT_ID

public static final int FORMAT_ID
Format identifier for all internal Xids or newly created Xids.

HEX_DIGITS

protected static final char[] HEX_DIGITS
Efficient mapping from 4 bit value to lower case hexadecimal digit.

XID_PREFIX

public static final String XID_PREFIX
Prefix for textual identifier.

Method Detail

importXid

public static Xid importXid(Xid xid)
Imports a transaction identifier. Returns a equivalent transaction identifier that can be converted to/from a string representation and supports the equality test.

Parameters: xid An existing transaction identifier

Returns: An equivalent transaction identifier

importXid

public static Xid importXid(int formatId, byte[] global, byte[] branch)
Imports a transaction identifier. Returns a equivalent transaction identifier that can be converted to/from a string representation and supports the equality test.

Parameters: formatId The format identifier global The global transaction identifier branch The branch qualifier

Returns: An equivalent transaction identifier

isBranch

public static boolean isBranch(Xid xid)
Returns true if the transaction identifier represents a branch transaction. A branch transaction must have a branch qualifier.

Parameters: xid A transaction identifier

Returns: True if a branch transaction

isGlobal

public static boolean isGlobal(Xid xid)
Returns true if the transaction identifier represents a global transaction. A global transaction must have a global transaction identifier.

Parameters: xid A transaction identifier

Returns: True if a global transaction

isLocal

public static boolean isLocal(Xid xid)
Returns true if the transaction identifier represents a local transaction. A local transaction has no global transaction identifier.

Parameters: xid A transaction identifier

Returns: True if a local transaction

newBranch

public static Xid newBranch(Xid xid)
Creates a new transaction branch. Returns a transaction identifier that uses the same format identiier and global transaction identifier but includes a new branch qualifier.

Parameters: xid An existing transaction identifier

Returns: A new branch for that transaction

newGlobal

public static Xid newGlobal()
Create a new global transaction identifier.

Returns: A new global transaction identifier

newLocal

public static Xid newLocal()
Create a new local transaction identifier.

Returns: A new local transaction identifier

parse

public static Xid parse(String identifier)
Constructs a transaction identifier from a string representation. The identifier syntax is xid:-[][-]. An exception is thrown if the identifier does not match this format.

Parameters: identifier The transaction identifier

Throws: InvalidXidException The indentifier is invalid

toString

public static String toString(Xid xid)
Converts an Xid into a string representation.

Parameters: xid A transaction identifier

Returns: The string representation

Original code is Copyright (c) 1999-2001, Intalio, Inc. All Rights Reserved. Contributions by MetaBoss team are Copyright (c) 2003-2005, Softaris Pty. Ltd. All Rights Reserved.