1 10 package org.mmbase.storage.search.implementation; 11 12 import org.mmbase.storage.search.*; 13 14 21 public class BasicFieldValueBetweenConstraint extends BasicFieldConstraint 22 implements FieldValueBetweenConstraint { 23 24 25 private Object lowerLimit = null; 26 27 28 private Object upperLimit = null; 29 30 41 public BasicFieldValueBetweenConstraint( 42 StepField field, Object lowerLimit, Object upperLimit) { 43 44 super(field); 45 setLowerLimit(lowerLimit); 46 setUpperLimit(upperLimit); 47 } 48 49 59 public BasicFieldValueBetweenConstraint setLowerLimit(Object lowerLimit) { 60 this.lowerLimit = lowerLimit; 61 return this; 62 } 63 64 74 public BasicFieldValueBetweenConstraint setUpperLimit(Object upperLimit) { 75 this.upperLimit = upperLimit; 76 return this; 77 } 78 79 public Object getLowerLimit() { 81 return lowerLimit; 82 } 83 84 public Object getUpperLimit() { 86 return upperLimit; 87 } 88 89 public boolean equals(Object obj) { 91 if (obj == this) { 92 return true; 93 } 94 if (obj != null && obj.getClass() == getClass()) { 96 BasicFieldValueBetweenConstraint constraint = (BasicFieldValueBetweenConstraint) obj; 97 return isInverse() == constraint.isInverse() 98 && isCaseSensitive() == constraint.isCaseSensitive() 99 && getField().getFieldName().equals(constraint.getField().getFieldName()) 100 && BasicStepField.compareSteps(getField().getStep(), 101 constraint.getField().getStep()) 102 && lowerLimit.equals(constraint.lowerLimit) 103 && upperLimit.equals(constraint.upperLimit); 104 } else { 105 return false; 106 } 107 } 108 109 public int hashCode() { 111 return 101 * (lowerLimit.hashCode() 112 + 97 * (upperLimit.hashCode() 113 + 89 * super.hashCode())); 114 } 115 116 public String toString() { 118 StringBuffer sb = new StringBuffer ("FieldValueBetweenConstraint(inverse:"). 119 append(isInverse()). 120 append(", field:").append(getFieldName()). 121 append(", casesensitive:").append(isCaseSensitive()). 122 append(", lower:").append(getLowerLimit()). 123 append(", upper:").append(getUpperLimit()). 124 append(")"); 125 return sb.toString(); 126 } 127 } 128 | Popular Tags |