package hu.sztaki.ilab.longneck.process.constraint; import hu.sztaki.ilab.longneck.process.AbstractSourceInfoContainer; import java.util.ArrayList; import java.util.List; /** * Base class for compound constraints. * * @author Molnar Peter <molnarp@sztaki.mta.hu> */ public abstract class AbstractCompoundConstraint extends AbstractSourceInfoContainer implements CompoundConstraint { /** Constraints listed inside this constraint. */ protected List<Constraint> constraints; @Override public List<Constraint> getConstraints() { return constraints; } @Override public void setConstraints(List<Constraint> constraints) { this.constraints = constraints; } @Override public AbstractCompoundConstraint clone() { AbstractCompoundConstraint copy = (AbstractCompoundConstraint) super.clone(); if (constraints != null) { copy.constraints = new ArrayList<Constraint>(constraints.size()); for (Constraint c : constraints) { copy.constraints.add(c.clone()); } } return copy; } }