// Path: tcc-core/src/main/java/org/bytesoft/openjtcc/common/TerminalKey.java
// public class TerminalKey implements Cloneable, Serializable {
// 	private String application = "unspecified";
// 	private String endpoint = "unspecified";
// 
// 	public String getApplication() {
// 		return application;
// 	}
// 
// 	public void setApplication(String application) {
// 		this.application = application;
// 	}
// 
// 	public String getEndpoint() {
// 		return endpoint;
// 	}
// 
// 	public void setEndpoint(String endpoint) {
// 		this.endpoint = endpoint;
// 	}
// 
// 	public TerminalKey clone() throws CloneNotSupportedException {
// 		TerminalKey that = new TerminalKey();
// 		that.setApplication(this.application);
// 		that.setEndpoint(this.endpoint);
// 		return that;
// 	}
// 
// 	public int hashCode() {
// 		int hash = 23;
// 		hash += 29 * (this.application == null ? 0 : this.application.hashCode());
// 		hash += 31 * (this.endpoint == null ? 0 : this.endpoint.hashCode());
// 		return hash;
// 	}
// 
// 	public boolean equals(Object obj) {
// 		if (obj == null) {
// 			return false;
// 		} else if (TerminalKey.class.equals(obj.getClass()) == false) {
// 			return false;
// 		}
// 
// 		TerminalKey that = (TerminalKey) obj;
// 		boolean appEquals = CommonUtils.equals(this.application, that.application);
// 		boolean endEquals = CommonUtils.equals(this.endpoint, that.endpoint);
// 		return appEquals && endEquals;
// 	}
// 
// 	public String toString() {
// 		return String.format("terminal: application= %s, endpoint= %s", this.application, this.endpoint);
// 	}
// 
// }
// 
// Path: tcc-supports/src/main/java/org/bytesoft/openjtcc/supports/dubbo/RemoteInvocationType.java
// public enum RemoteInvocationType {
// 	service, transaction, cleanup
// }


import java.io.Serializable;
import org.bytesoft.openjtcc.common.TerminalKey;
import org.bytesoft.openjtcc.supports.dubbo.RemoteInvocationType;
import org.bytesoft.openjtcc.supports.rmi.RemoteInvocationResponse;

/**
 * Copyright 2014 yangming.liu<liuyangming@gmail.com>.
 *
 * This copyrighted material is made available to anyone wishing to use, modify,
 * copy, or redistribute it subject to the terms and conditions of the GNU
 * Lesser General Public License, as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
 * for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this distribution; if not, see <http://www.gnu.org/licenses/>.
 */
package org.bytesoft.openjtcc.supports.dubbo.internal;



public class RemoteInvocationResponseImpl implements RemoteInvocationResponse, Serializable {
	private static final long serialVersionUID = 1L;
	private transient RemoteInvocationRequestImpl request;
	private RemoteInvocationType invocationType;
	private Object result;
	private Object transactionContext;
	private Throwable throwable;
	private boolean failure;
	private TerminalKey terminalKey;

	public RemoteInvocationResponseImpl() {
	}

	public Object getResult() {
		return result;
	}

	public void setResult(Object result) {
		this.result = result;
	}

	public Object getTransactionContext() {

// Path: tcc-core/src/main/java/org/bytesoft/openjtcc/common/TerminalKey.java
// public class TerminalKey implements Cloneable, Serializable {
// 	private String application = "unspecified";
// 	private String endpoint = "unspecified";
// 
// 	public String getApplication() {
// 		return application;
// 	}
// 
// 	public void setApplication(String application) {
// 		this.application = application;
// 	}
// 
// 	public String getEndpoint() {
// 		return endpoint;
// 	}
// 
// 	public void setEndpoint(String endpoint) {
// 		this.endpoint = endpoint;
// 	}
// 
// 	public TerminalKey clone() throws CloneNotSupportedException {
// 		TerminalKey that = new TerminalKey();
// 		that.setApplication(this.application);
// 		that.setEndpoint(this.endpoint);
// 		return that;
// 	}
// 
// 	public int hashCode() {
// 		int hash = 23;
// 		hash += 29 * (this.application == null ? 0 : this.application.hashCode());
// 		hash += 31 * (this.endpoint == null ? 0 : this.endpoint.hashCode());
// 		return hash;
// 	}
// 
// 	public boolean equals(Object obj) {
// 		if (obj == null) {
// 			return false;
// 		} else if (TerminalKey.class.equals(obj.getClass()) == false) {
// 			return false;
// 		}
// 
// 		TerminalKey that = (TerminalKey) obj;
// 		boolean appEquals = CommonUtils.equals(this.application, that.application);
// 		boolean endEquals = CommonUtils.equals(this.endpoint, that.endpoint);
// 		return appEquals && endEquals;
// 	}
// 
// 	public String toString() {
// 		return String.format("terminal: application= %s, endpoint= %s", this.application, this.endpoint);
// 	}
// 
// }
// 
// Path: tcc-supports/src/main/java/org/bytesoft/openjtcc/supports/dubbo/RemoteInvocationType.java
// public enum RemoteInvocationType {
// 	service, transaction, cleanup
// }


// Path: tcc-supports/src/main/java/org/bytesoft/openjtcc/supports/dubbo/internal/RemoteInvocationResponseImpl.java
import java.io.Serializable;
import org.bytesoft.openjtcc.common.TerminalKey;
import org.bytesoft.openjtcc.supports.dubbo.RemoteInvocationType;
import org.bytesoft.openjtcc.supports.rmi.RemoteInvocationResponse;

/**
 * Copyright 2014 yangming.liu<liuyangming@gmail.com>.
 *
 * This copyrighted material is made available to anyone wishing to use, modify,
 * copy, or redistribute it subject to the terms and conditions of the GNU
 * Lesser General Public License, as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
 * for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this distribution; if not, see <http://www.gnu.org/licenses/>.
 */
package org.bytesoft.openjtcc.supports.dubbo.internal;



public class RemoteInvocationResponseImpl implements RemoteInvocationResponse, Serializable {
	private static final long serialVersionUID = 1L;
	private transient RemoteInvocationRequestImpl request;
	private RemoteInvocationType invocationType;
	private Object result;
	private Object transactionContext;
	private Throwable throwable;
	private boolean failure;
	private TerminalKey terminalKey;

	public RemoteInvocationResponseImpl() {
	}

	public Object getResult() {
		return result;
	}

	public void setResult(Object result) {
		this.result = result;
	}

	public Object getTransactionContext() {

		return transactionContext;
