Exemple #1
0
 @Override
 public boolean equals(Object obj) {
   boolean retval = true;
   if (obj instanceof Field) {
     Field field = (Field) obj;
     if (type.equals(field.getType())) {
       if (this.isNull() && field.isNull()) {
         retval = true;
       } else if (this.isNull() ^ field.isNull()) {
         retval = false;
       } else if (type.equals(VARBINARY)) {
         // special case for byte arrays
         // aren't they so fancy
         retval = Arrays.equals((byte[]) value, (byte[]) field.getObject());
       } else if (type.equals(DATE) || type.equals(TIME) || type.equals(TIMESTAMP)) {
         retval = value.toString().equals(field.getObject().toString());
       } else {
         if (value instanceof Block) {
           retval = equals((Block) value, (Block) field.getObject());
         } else {
           retval = value.equals(field.getObject());
         }
       }
     }
   }
   return retval;
 }