package pebl.benchmark.test.partner.rules;
import java.util.Objects;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementRef;
@XmlAccessorType(XmlAccessType.NONE)
public final class OperationInputOutputRule {
@XmlAttribute(required = true)
private final String operation;
@XmlElement(required = true)
@XmlElementRef
private final AnyInput input;
@XmlElement(required = true)
@XmlElementRef
private final NoOutput output;
OperationInputOutputRule() {
this("", new AnyInput());
}
public OperationInputOutputRule(String operation, AnyInput input) {
this(operation, input, new NoOutput());
}
public OperationInputOutputRule(String operation, AnyInput input, NoOutput output) {
this.output = Objects.requireNonNull(output);
this.operation = Objects.requireNonNull(operation);
this.input = Objects.requireNonNull(input);
}
public String getOperation() {
return operation;
}
public AnyInput getInput() {
return input;
}
public NoOutput getOutput() {
return output;
}
}