| Eliza Margaretha | 198e4ef | 2014-02-10 13:50:50 +0000 | [diff] [blame] | 1 | package de.ids_mannheim.korap.query; |
| 2 | |
| Eliza Margaretha | c7fb731 | 2014-07-25 14:11:36 +0000 | [diff] [blame] | 3 | /** Specify distance constraints in SpanDistanceQueries or |
| Eliza Margaretha | d469346 | 2014-03-17 13:16:18 +0000 | [diff] [blame] | 4 | * SpanMultipleDistanceQueries |
| Eliza Margaretha | 0a41251 | 2014-02-28 12:52:16 +0000 | [diff] [blame] | 5 | * |
| 6 | * @author margaretha |
| 7 | * */ |
| 8 | |
| Eliza Margaretha | 198e4ef | 2014-02-10 13:50:50 +0000 | [diff] [blame] | 9 | public class DistanceConstraint { |
| Eliza Margaretha | 609fcc6 | 2014-02-13 14:10:20 +0000 | [diff] [blame] | 10 | private int minDistance, maxDistance; |
| 11 | private String unit; |
| 12 | private SpanElementQuery elementQuery; |
| 13 | private boolean exclusion; |
| Eliza Margaretha | d469346 | 2014-03-17 13:16:18 +0000 | [diff] [blame] | 14 | private boolean isOrdered; |
| Eliza Margaretha | 198e4ef | 2014-02-10 13:50:50 +0000 | [diff] [blame] | 15 | |
| Eliza Margaretha | d469346 | 2014-03-17 13:16:18 +0000 | [diff] [blame] | 16 | public DistanceConstraint(int min, int max, boolean isOrdered, boolean exclusion) { |
| Eliza Margaretha | 6651fc3 | 2014-02-18 14:57:47 +0000 | [diff] [blame] | 17 | this.unit = "w"; |
| Eliza Margaretha | 198e4ef | 2014-02-10 13:50:50 +0000 | [diff] [blame] | 18 | this.minDistance = min; |
| 19 | this.maxDistance = max; |
| Eliza Margaretha | d469346 | 2014-03-17 13:16:18 +0000 | [diff] [blame] | 20 | this.isOrdered = isOrdered; |
| 21 | this.exclusion = exclusion; |
| Eliza Margaretha | 198e4ef | 2014-02-10 13:50:50 +0000 | [diff] [blame] | 22 | } |
| 23 | |
| Eliza Margaretha | d469346 | 2014-03-17 13:16:18 +0000 | [diff] [blame] | 24 | public DistanceConstraint(SpanElementQuery elementQuery, int min, int max, boolean |
| 25 | isOrdered, boolean exclusion) { |
| Eliza Margaretha | c7fb731 | 2014-07-25 14:11:36 +0000 | [diff] [blame] | 26 | if (elementQuery == null){ |
| 27 | throw new IllegalArgumentException("Element query cannot be null."); |
| 28 | } |
| 29 | |
| Eliza Margaretha | 6651fc3 | 2014-02-18 14:57:47 +0000 | [diff] [blame] | 30 | this.unit = elementQuery.getElementStr(); |
| 31 | this.minDistance = min; |
| 32 | this.maxDistance = max; |
| Eliza Margaretha | d469346 | 2014-03-17 13:16:18 +0000 | [diff] [blame] | 33 | this.isOrdered = isOrdered; |
| 34 | this.exclusion = exclusion; |
| 35 | this.elementQuery = elementQuery; |
| Eliza Margaretha | 198e4ef | 2014-02-10 13:50:50 +0000 | [diff] [blame] | 36 | } |
| 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 Margaretha | 609fcc6 | 2014-02-13 14:10:20 +0000 | [diff] [blame] | 56 | public SpanElementQuery getElementQuery() { |
| Eliza Margaretha | 198e4ef | 2014-02-10 13:50:50 +0000 | [diff] [blame] | 57 | return elementQuery; |
| 58 | } |
| Eliza Margaretha | 609fcc6 | 2014-02-13 14:10:20 +0000 | [diff] [blame] | 59 | public void setElementQuery(SpanElementQuery elementQuery) { |
| Eliza Margaretha | 198e4ef | 2014-02-10 13:50:50 +0000 | [diff] [blame] | 60 | this.elementQuery = elementQuery; |
| 61 | } |
| Eliza Margaretha | 609fcc6 | 2014-02-13 14:10:20 +0000 | [diff] [blame] | 62 | |
| 63 | public boolean isExclusion() { |
| 64 | return exclusion; |
| 65 | } |
| 66 | |
| 67 | public void setExclusion(boolean exclusion) { |
| 68 | this.exclusion = exclusion; |
| 69 | } |
| Eliza Margaretha | d469346 | 2014-03-17 13:16:18 +0000 | [diff] [blame] | 70 | |
| 71 | public boolean isOrdered() { |
| 72 | return isOrdered; |
| 73 | } |
| 74 | |
| 75 | public void setOrdered(boolean isOrdered) { |
| 76 | this.isOrdered = isOrdered; |
| 77 | } |
| Eliza Margaretha | 198e4ef | 2014-02-10 13:50:50 +0000 | [diff] [blame] | 78 | } |