Ejemplo n.º 1
0
 /**
  * Indicates whether some other KVOpExpression is "equal to this one.
  *
  * @param o the reference object with which to compare.
  * @return <code>true</code> if this object is the same as the o argument; <code>false</code>
  *     otherwise.
  * @see #hashCode()
  */
 public boolean equals(Object o) {
   if (o == this) return (true);
   if (!(o instanceof KVOpExpression)) return (false);
   KVOpExpression other = (KVOpExpression) o;
   if (getName().compareTo(other.getName()) != 0 || op != other.getOp() || val != other.getValue())
     return (false);
   return (true);
 }
Ejemplo n.º 2
0
 /**
  * Return true if the supplied expression "contradicts" this expression. If the supplied
  * expression is not of the same type, then it cannot contradict it. If the names are different
  * then there can be no contradiction.
  *
  * <p>Contradiction occurs if the operator is the same or if they aren't the same and the operator
  * is < or > and the values aren't simultanteously achievable.
  *
  * @param o Expression to examine for contradiction.
  */
 public boolean contradicts(Expression o) {
   if (!(o instanceof KVOpExpression)) return (false);
   KVOpExpression other = (KVOpExpression) o;
   if (getName().compareTo(other.getName()) != 0) return (false);
   if (getOp() != other.getOp()) {
     if (getOp() != NT && other.getOp() != NT) {
       if (getOp() == GT) {
         if (getValue() < other.getValue()) return (false);
       } else {
         if (getValue() > other.getValue()) return (false);
       }
     } else return (false);
   }
   return (true);
 }