package com.zillabyte.motherbrain.flow.operations;
import java.io.Serializable;
import org.eclipse.jdt.annotation.NonNullByDefault;
@NonNullByDefault
public final class OperationMessage implements Serializable {
private static final long serialVersionUID = 7458911694450468873L;
final String command;
final Object msg;
final String operationName;
final String instanceId;
public OperationMessage(final String operation, final String instanceId, final String command, final Object msg) {
this.operationName = operation;
this.instanceId = instanceId;
this.command = command;
this.msg = msg;
}
public String getCommand() {
return command;
}
public Object getMessage() {
return msg;
}
public String getOperationName() {
return operationName;
}
public String getInstanceName() {
return instanceId;
}
public static OperationMessage create(Operation operation, String command, Object msg) {
return new OperationMessage(operation.namespaceName(), operation.instanceName(), command, msg);
}
@Override
public String toString() {
return "operationMessage: " + getCommand() + " : " + msg.toString();
}
}