@@ -0,0 +1,2444 @@
+package hu.webarticum.jsatbuilder.builder.common;%0A%0Aimport java.util.Collection;%0A%0Aimport hu.webarticum.jsatbuilder.builder.core.Definition;%0Aimport hu.webarticum.jsatbuilder.solver.core.Solver;%0A%0Apublic class BoundConstraint extends AbstractLiteralListConstraint %7B%0A%0A    private final Integer minimum;%0A    private final Integer maximum;%0A    %0A    public BoundConstraint(int number, Definition... definitions) %7B%0A        super(true, definitions);%0A        this.minimum = this.maximum = number;%0A    %7D%0A    %0A    public BoundConstraint(int number, DefinitionLiteral... literals) %7B%0A        super(true, literals);%0A        this.minimum = this.maximum = number;%0A    %7D%0A    %0A    public BoundConstraint(int number, Collection%3C?%3E literalsOrDefinitions) %7B%0A        super(true, literalsOrDefinitions);%0A        this.minimum = this.maximum = number;%0A    %7D%0A%0A    public BoundConstraint(Integer minimum, Integer maximum, Definition... definitions) %7B%0A        super(true, definitions);%0A        this.minimum = minimum;%0A        this.maximum = maximum;%0A    %7D%0A    %0A    public BoundConstraint(Integer minimum, Integer maximum, DefinitionLiteral... literals) %7B%0A        super(true, literals);%0A        this.minimum = minimum;%0A        this.maximum = maximum;%0A    %7D%0A    %0A    public BoundConstraint(Integer minimum, Integer maximum, Collection%3C?%3E literalsOrDefinitions) %7B%0A        super(true, literalsOrDefinitions);%0A        this.minimum = minimum;%0A        this.maximum = maximum;%0A    %7D%0A%0A    public BoundConstraint(boolean required, Integer minimum, Integer maximum, Definition... definitions) %7B%0A        super(required, definitions);%0A        this.minimum = minimum;%0A        this.maximum = maximum;%0A    %7D%0A    %0A    public BoundConstraint(boolean required, Integer minimum, Integer maximum, DefinitionLiteral... literals) %7B%0A        super(required, literals);%0A        this.minimum = minimum;%0A        this.maximum = maximum;%0A    %7D%0A    %0A    public BoundConstraint(boolean required, Integer minimum, Integer maximum, Collection%3C?%3E literalsOrDefinitions) %7B%0A        super(required, literalsOrDefinitions);%0A        this.minimum = minimum;%0A        this.maximum = maximum;%0A    %7D%0A%0A    @Override%0A    public void fillSolver(Solver solver) %7B%0A        Solver.Clause clause = new Solver.Clause();%0A        for (Solver.Literal solverLiteral: getLiteralListManager().getSolverLiterals()) %7B%0A            clause.addLiteral(solverLiteral);%0A        %7D%0A        solver.addSpecial(clause, minimum, maximum);%0A    %7D%0A%0A%7D%0A

Add BoundConstraint