| 1 10 package org.mmbase.storage.search.implementation; 11 12 import org.mmbase.storage.search.*; 13 14 22 public class BasicFieldValueConstraint extends BasicFieldCompareConstraint 23 implements FieldValueConstraint { 24 25 26 private Object value = null; 27 28 37 public BasicFieldValueConstraint(StepField field, Object value) { 38 super(field); 39 setValue(value); 40 } 41 42 51 public BasicFieldValueConstraint setValue(Object value) { 52 BasicStepField.testValue(value, getField()); 53 this.value = value; 54 return this; 55 } 56 57 public Object getValue() { 59 return value; 60 } 61 62 public boolean equals(Object obj) { 64 if (obj != null && obj.getClass() == getClass()) { 66 BasicFieldValueConstraint constraint 67 = (BasicFieldValueConstraint) obj; 68 return isInverse() == constraint.isInverse() 69 && isCaseSensitive() == constraint.isCaseSensitive() 70 && getField().getFieldName().equals(constraint.getField().getFieldName()) 71 && BasicStepField.compareSteps(getField().getStep(), 72 constraint.getField().getStep()) 73 && getOperator() == constraint.getOperator() 74 && BasicStepField.equalFieldValues(value, constraint.value); 75 } else { 76 return false; 77 } 78 } 79 80 public int hashCode() { 82 return super.hashCode() 83 + (value == null? 0: value.hashCode()); 84 } 85 86 public String toString() { 88 StringBuffer sb = new StringBuffer ("BasicFieldValueConstraint(inverse:"). 89 append(isInverse()). 90 append(", field:").append(getFieldName()). 91 append(", casesensitive:").append(isCaseSensitive()). 92 append(", operator:").append(getOperatorDescription()). 93 append(", value:").append(getValue()). 94 append(")"); 95 return sb.toString(); 96 } 97 } 98 | Popular Tags |