blob: 11e330bb28ae79008b69739e8255e5a2a17418f2 [file] [log] [blame]
Eliza Margaretha198e4ef2014-02-10 13:50:50 +00001package de.ids_mannheim.korap.query;
2
Eliza Margarethac7fb7312014-07-25 14:11:36 +00003/** Specify distance constraints in SpanDistanceQueries or
Eliza Margarethad4693462014-03-17 13:16:18 +00004 * SpanMultipleDistanceQueries
Eliza Margaretha0a412512014-02-28 12:52:16 +00005 *
6 * @author margaretha
7 * */
8
Eliza Margaretha198e4ef2014-02-10 13:50:50 +00009public class DistanceConstraint {
Eliza Margaretha609fcc62014-02-13 14:10:20 +000010 private int minDistance, maxDistance;
11 private String unit;
12 private SpanElementQuery elementQuery;
13 private boolean exclusion;
Eliza Margarethad4693462014-03-17 13:16:18 +000014 private boolean isOrdered;
Eliza Margaretha198e4ef2014-02-10 13:50:50 +000015
Eliza Margarethad4693462014-03-17 13:16:18 +000016 public DistanceConstraint(int min, int max, boolean isOrdered, boolean exclusion) {
Eliza Margaretha6651fc32014-02-18 14:57:47 +000017 this.unit = "w";
Eliza Margaretha198e4ef2014-02-10 13:50:50 +000018 this.minDistance = min;
19 this.maxDistance = max;
Eliza Margarethad4693462014-03-17 13:16:18 +000020 this.isOrdered = isOrdered;
21 this.exclusion = exclusion;
Eliza Margaretha198e4ef2014-02-10 13:50:50 +000022 }
23
Eliza Margarethad4693462014-03-17 13:16:18 +000024 public DistanceConstraint(SpanElementQuery elementQuery, int min, int max, boolean
25 isOrdered, boolean exclusion) {
Eliza Margarethac7fb7312014-07-25 14:11:36 +000026 if (elementQuery == null){
27 throw new IllegalArgumentException("Element query cannot be null.");
28 }
29
Eliza Margaretha6651fc32014-02-18 14:57:47 +000030 this.unit = elementQuery.getElementStr();
31 this.minDistance = min;
32 this.maxDistance = max;
Eliza Margarethad4693462014-03-17 13:16:18 +000033 this.isOrdered = isOrdered;
34 this.exclusion = exclusion;
35 this.elementQuery = elementQuery;
Eliza Margaretha198e4ef2014-02-10 13:50:50 +000036 }
37
38 public int getMinDistance() {
39 return minDistance;
40 }
41 public void setMinDistance(int minDistance) {
42 this.minDistance = minDistance;
43 }
44 public int getMaxDistance() {
45 return maxDistance;
46 }
47 public void setMaxDistance(int maxDistance) {
48 this.maxDistance = maxDistance;
49 }
50 public String getUnit() {
51 return unit;
52 }
53 public void setUnit(String unit) {
54 this.unit = unit;
55 }
Eliza Margaretha609fcc62014-02-13 14:10:20 +000056 public SpanElementQuery getElementQuery() {
Eliza Margaretha198e4ef2014-02-10 13:50:50 +000057 return elementQuery;
58 }
Eliza Margaretha609fcc62014-02-13 14:10:20 +000059 public void setElementQuery(SpanElementQuery elementQuery) {
Eliza Margaretha198e4ef2014-02-10 13:50:50 +000060 this.elementQuery = elementQuery;
61 }
Eliza Margaretha609fcc62014-02-13 14:10:20 +000062
63 public boolean isExclusion() {
64 return exclusion;
65 }
66
67 public void setExclusion(boolean exclusion) {
68 this.exclusion = exclusion;
69 }
Eliza Margarethad4693462014-03-17 13:16:18 +000070
71 public boolean isOrdered() {
72 return isOrdered;
73 }
74
75 public void setOrdered(boolean isOrdered) {
76 this.isOrdered = isOrdered;
77 }
Eliza Margaretha198e4ef2014-02-10 13:50:50 +000078}