Clover coverage report -
Coverage timestamp: jeu. juin 15 2006 08:24:33 CEST
file stats: LOC: 225   Methods: 24
NCLOC: 92   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
SolverDecorator.java - 50% 50% 50%
coverage coverage
 1    /*
 2    * Created on 22 mars 2004
 3    *
 4    * To change the template for this generated file go to
 5    * Window>Preferences>Java>Code Generation>Code and Comments
 6    */
 7    package org.sat4j.tools;
 8   
 9    import java.io.PrintStream;
 10    import java.io.PrintWriter;
 11    import java.io.Serializable;
 12    import java.math.BigInteger;
 13    import java.util.Map;
 14   
 15    import org.sat4j.specs.ContradictionException;
 16    import org.sat4j.specs.IConstr;
 17    import org.sat4j.specs.ISolver;
 18    import org.sat4j.specs.IVec;
 19    import org.sat4j.specs.IVecInt;
 20    import org.sat4j.specs.TimeoutException;
 21   
 22    /**
 23    * The aim of that class is to allow adding dynamic responsabilities to SAT
 24    * solvers using the Decorator design pattern. The class is abstract because it
 25    * does not makes sense to use it "as is".
 26    *
 27    * @author leberre
 28    */
 29    public abstract class SolverDecorator implements ISolver, Serializable {
 30   
 31    /* (non-Javadoc)
 32    * @see org.sat4j.specs.IProblem#model(int)
 33    */
 34  0 public boolean model(int var) {
 35  0 return solver.model(var);
 36    }
 37   
 38  1 public void setExpectedNumberOfClauses(int nb) {
 39  1 solver.setExpectedNumberOfClauses(nb);
 40    }
 41   
 42    /*
 43    * (non-Javadoc)
 44    *
 45    * @see org.sat4j.specs.ISolver#getTimeout()
 46    */
 47  0 public int getTimeout() {
 48  0 return solver.getTimeout();
 49    }
 50   
 51    /*
 52    * (non-Javadoc)
 53    *
 54    * @see org.sat4j.specs.ISolver#toString(java.lang.String)
 55    */
 56  0 public String toString(String prefix) {
 57  0 return solver.toString(prefix);
 58    }
 59   
 60    /*
 61    * (non-Javadoc)
 62    *
 63    * @see org.sat4j.specs.ISolver#printStat(java.io.PrintStream,
 64    * java.lang.String)
 65    */
 66  0 @Deprecated
 67    public void printStat(PrintStream out, String prefix) {
 68  0 solver.printStat(out, prefix);
 69    }
 70   
 71  0 public void printStat(PrintWriter out, String prefix) {
 72  0 solver.printStat(out, prefix);
 73    }
 74   
 75    private final ISolver solver;
 76   
 77    /**
 78    *
 79    */
 80  6 public SolverDecorator(ISolver solver) {
 81  6 this.solver = solver;
 82    }
 83   
 84    /*
 85    * (non-Javadoc)
 86    *
 87    * @see org.sat4j.ISolver#newVar()
 88    */
 89  0 public int newVar() {
 90  0 return solver.newVar();
 91    }
 92   
 93    /*
 94    * (non-Javadoc)
 95    *
 96    * @see org.sat4j.ISolver#newVar(int)
 97    */
 98  6 public int newVar(int howmany) {
 99  6 return solver.newVar(howmany);
 100    }
 101   
 102    /*
 103    * (non-Javadoc)
 104    *
 105    * @see org.sat4j.ISolver#addClause(org.sat4j.datatype.VecInt)
 106    */
 107  453 public IConstr addClause(IVecInt literals) throws ContradictionException {
 108  453 return solver.addClause(literals);
 109    }
 110   
 111  0 public void addAllClauses(IVec<IVecInt> clauses)
 112    throws ContradictionException {
 113  0 solver.addAllClauses(clauses);
 114    }
 115   
 116    /*
 117    * (non-Javadoc)
 118    *
 119    * @see org.sat4j.ISolver#addAtMost(org.sat4j.datatype.VecInt, int)
 120    */
 121  13 public IConstr addAtMost(IVecInt literals, int degree)
 122    throws ContradictionException {
 123  13 return solver.addAtMost(literals, degree);
 124    }
 125   
 126    /*
 127    * (non-Javadoc)
 128    *
 129    * @see org.sat4j.ISolver#addAtLeast(org.sat4j.datatype.VecInt, int)
 130    */
 131  0 public IConstr addAtLeast(IVecInt literals, int degree)
 132    throws ContradictionException {
 133  0 return solver.addAtLeast(literals, degree);
 134    }
 135   
 136  0 public IConstr addPseudoBoolean(IVecInt literals, IVec<BigInteger> coeffs,
 137    boolean moreThan, BigInteger degree) throws ContradictionException {
 138  0 return solver.addPseudoBoolean(literals, coeffs, moreThan, degree);
 139    }
 140   
 141    /*
 142    * (non-Javadoc)
 143    *
 144    * @see org.sat4j.ISolver#model()
 145    */
 146  40 public int[] model() {
 147  40 return solver.model();
 148    }
 149   
 150    /*
 151    * (non-Javadoc)
 152    *
 153    * @see org.sat4j.ISolver#isSatisfiable()
 154    */
 155  36 public boolean isSatisfiable() throws TimeoutException {
 156  36 return solver.isSatisfiable();
 157    }
 158   
 159    /*
 160    * (non-Javadoc)
 161    *
 162    * @see org.sat4j.ISolver#isSatisfiable(org.sat4j.datatype.VecInt)
 163    */
 164  12 public boolean isSatisfiable(IVecInt assumps) throws TimeoutException {
 165  12 return solver.isSatisfiable(assumps);
 166    }
 167   
 168    /*
 169    * (non-Javadoc)
 170    *
 171    * @see org.sat4j.ISolver#setTimeout(int)
 172    */
 173  1 public void setTimeout(int t) {
 174  1 solver.setTimeout(t);
 175    }
 176   
 177    /*
 178    * (non-Javadoc)
 179    *
 180    * @see org.sat4j.ISolver#nConstraints()
 181    */
 182  0 public int nConstraints() {
 183  0 return solver.nConstraints();
 184    }
 185   
 186    /*
 187    * (non-Javadoc)
 188    *
 189    * @see org.sat4j.ISolver#nVars()
 190    */
 191  52 public int nVars() {
 192  52 return solver.nVars();
 193    }
 194   
 195    /*
 196    * (non-Javadoc)
 197    *
 198    * @see org.sat4j.ISolver#reset()
 199    */
 200  1 public void reset() {
 201  1 solver.reset();
 202    }
 203   
 204  0 public ISolver decorated() {
 205  0 return solver;
 206    }
 207   
 208    /*
 209    * (non-Javadoc)
 210    *
 211    * @see org.sat4j.specs.ISolver#removeConstr(org.sat4j.minisat.core.Constr)
 212    */
 213  4 public boolean removeConstr(IConstr c) {
 214  4 return solver.removeConstr(c);
 215    }
 216   
 217    /* (non-Javadoc)
 218    * @see org.sat4j.specs.ISolver#getStat()
 219    */
 220  0 public Map<String, Number> getStat() {
 221  0 return solver.getStat();
 222    }
 223   
 224   
 225    }