package org.jvalue.ods.api.processors; import com.google.common.base.Objects; import java.util.List; import javax.validation.Valid; import javax.validation.constraints.NotNull; abstract class AbstractProcessorReferenceChain { @Valid @NotNull private final List<ProcessorReference> processors; @Valid private final ExecutionInterval executionInterval; protected AbstractProcessorReferenceChain( List<ProcessorReference> processors, ExecutionInterval executionInterval) { this.processors = processors; this.executionInterval = executionInterval; } public List<ProcessorReference> getProcessors() { return processors; } public ExecutionInterval getExecutionInterval() { return executionInterval; } @Override public boolean equals(Object other) { if (other == null || !(other instanceof AbstractProcessorReferenceChain)) return false; if (other == this) return true; AbstractProcessorReferenceChain description = (AbstractProcessorReferenceChain) other; return Objects.equal(processors, description.processors) && Objects.equal(executionInterval, description.executionInterval); } @Override public int hashCode() { return Objects.hashCode(processors, executionInterval); } }