1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.sat4j.reader;
20
21 import java.io.FileNotFoundException;
22 import java.io.IOException;
23 import java.io.PrintWriter;
24 import java.io.Reader;
25
26 import javax.xml.parsers.ParserConfigurationException;
27
28 import org.sat4j.csp.xml.CspXmlParser;
29 import org.sat4j.specs.ContradictionException;
30 import org.sat4j.specs.IProblem;
31 import org.sat4j.specs.ISolver;
32 import org.xml.sax.SAXException;
33
34 public class XMLCSPReader extends org.sat4j.reader.Reader {
35
36 private final CSPReader cspreader;
37
38 public XMLCSPReader(ISolver solver) {
39 cspreader = new CSPSupportReader(solver);
40 }
41
42 @Override
43 public String decode(int[] model) {
44 return cspreader.decode(model);
45 }
46
47 @Override
48 public void decode(int[] model, PrintWriter out) {
49 cspreader.decode(model, out);
50 }
51
52
53
54
55
56
57 @Override
58 public IProblem parseInstance(String filename)
59 throws FileNotFoundException, ParseFormatException, IOException,
60 ContradictionException {
61 try {
62 CspXmlParser.parse(cspreader, filename);
63 } catch (SAXException e) {
64 throw new ParseFormatException(e);
65 } catch (ParserConfigurationException e) {
66 throw new ParseFormatException(e);
67 }
68 return cspreader.getProblem();
69 }
70
71 @Override
72 public IProblem parseInstance(Reader in) throws ParseFormatException,
73 ContradictionException, IOException {
74 throw new UnsupportedOperationException();
75 }
76
77
78
79
80
81
82 @Override
83 public void setVerbosity(boolean b) {
84 super.setVerbosity(b);
85 cspreader.setVerbosity(b);
86 }
87
88 }