diff --git a/boot/common-framework/src/main/java/com/klaro/acquirecore/framework/TxResult.java b/boot/common-framework/src/main/java/com/klaro/acquirecore/framework/TxResult.java new file mode 100644 index 0000000..b8a0099 --- /dev/null +++ b/boot/common-framework/src/main/java/com/klaro/acquirecore/framework/TxResult.java @@ -0,0 +1,67 @@ +package com.klaro.acquirecore.framework; + +import java.io.Serializable; + +/** + * Generic result wrapper for transactional operations. + * Mirrors C tx_result struct semantics. + */ +public class TxResult implements Serializable { + + private static final long serialVersionUID = 1L; + + private boolean success; + private T data; + private String errorCode; + private String errorMessage; + + public TxResult() { + } + + public static TxResult ok(T data) { + TxResult result = new TxResult<>(); + result.success = true; + result.data = data; + return result; + } + + public static TxResult error(String errorCode, String errorMessage) { + TxResult result = new TxResult<>(); + result.success = false; + result.errorCode = errorCode; + result.errorMessage = errorMessage; + return result; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public T getData() { + return data; + } + + public void setData(T data) { + this.data = data; + } + + public String getErrorCode() { + return errorCode; + } + + public void setErrorCode(String errorCode) { + this.errorCode = errorCode; + } + + public String getErrorMessage() { + return errorMessage; + } + + public void setErrorMessage(String errorMessage) { + this.errorMessage = errorMessage; + } +}