Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2014-2015 the original author or authors.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
   *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
  * either express or implied. See the License for the specific language
  * governing permissions and limitations under the License.
  */
 package org.lastaflute.jta.core.xa;
 
 
javax.transaction.xa.Xidの実装クラスです。

Author(s):
modified by jflute (originated in Seasar)
 
 public class XidImpl implements XidSerializable {
 
     static final long serialVersionUID = 1L;
 
     private static final int FORMAT_ID = 0x1108;
 
     private static final byte[] INITIAL_BRANCH_ID = convert64bytes(new byte[0]);
 
     private static final String GLOBAL_ID_BASE = System.currentTimeMillis() + "/";
 
     private static int nextId = 0;
 
     private int hashCode;
 
     private byte[] globalId;
 
     private byte[] branchId;

    
XidImplを作成します。
 
     public XidImpl() {
          = getNextId();
          = createGlobalId();
          = ;
     }

    
XidImplを作成します。

Parameters:
xid トランザクション識別子
bid ブランチ識別子
 
     public XidImpl(Xid xidint bid) {
          = xid.hashCode();
          = xid.getGlobalTransactionId();
          = convert64bytes(Integer.toString(bid).getBytes());
     }
 
     private byte[] createGlobalId() {
         return convert64bytes(( + Integer.toString()).getBytes());
     }
 
     public byte[] getGlobalTransactionId() {
         return (byte[]) .clone();
     }
 
     public byte[] getBranchQualifier() {
         return (byte[]) .clone();
     }
 
     public int getFormatId() {
         return ;
     }
 
     public boolean equals(Object obj) {
         if (this == obj) {
             return true;
         }
         if (obj == null || !(obj instanceof XidImpl)) {
             return false;
         }
         XidImpl other = (XidImplobj;
         if ( != other.hashCode) {
             return false;
         }
         if (. != other.globalId.length || . != other.branchId.length) {
 
             return false;
         }
        for (int i = 0; i < .; ++i) {
            if ([i] != other.globalId[i]) {
                return false;
            }
        }
        for (int i = 0; i < .; ++i) {
            if ([i] != other.branchId[i]) {
                return false;
            }
        }
        return true;
    }
    public int hashCode() {
        return ;
    }
    public String toString() {
        return "[FormatId=" +  + ", GlobalId=" + new String().trim() + ", BranchId=" + new String().trim() + "]";
    }
    private static byte[] convert64bytes(byte[] bytes) {
        byte[] new64bytes = new byte[64];
        System.arraycopy(bytes, 0, new64bytes, 0, bytes.length);
        return new64bytes;
    }
    private static synchronized int getNextId() {
        return ++;
    }
New to GrepCode? Check out our FAQ X