Example #1
0
 public String toString() {
   switch (type) {
     case ADDED:
       return "[MISSING] -> "
           + TextValueSerializer.asString(Optional.fromNullable((Object) newGeometry.orNull()));
     case REMOVED:
       return TextValueSerializer.asString(Optional.fromNullable((Object) oldGeometry.orNull()))
           + " -> [MISSING]";
     case MODIFIED:
     default:
       return diff.toString();
   }
 }
Example #2
0
 @SuppressWarnings("unchecked")
 @Override
 public boolean canBeAppliedOn(Optional<?> obj) {
   switch (type) {
     case ADDED:
       return obj == null;
     case REMOVED:
       return obj.equals(oldGeometry);
     case MODIFIED:
     default:
       return diff.canBeAppliedOn((Optional<Geometry>) obj);
   }
 }
Example #3
0
 @SuppressWarnings("unchecked")
 @Override
 public Optional<?> applyOn(Optional<?> obj) {
   Preconditions.checkState(canBeAppliedOn(obj));
   switch (type) {
     case ADDED:
       return newGeometry;
     case REMOVED:
       return null;
     case MODIFIED:
     default:
       return diff.applyOn((Optional<Geometry>) obj);
   }
 }
Example #4
0
 @Override
 public boolean equals(Object o) {
   if (!(o instanceof GeometryAttributeDiff)) {
     return false;
   }
   GeometryAttributeDiff d = (GeometryAttributeDiff) o;
   if (oldGeometry == null && newGeometry == null) {
     return Objects.equal(oldGeometry, oldGeometry)
         && Objects.equal(newGeometry, d.newGeometry)
         && Objects.equal(type, d.type);
   } else {
     return diff.equals(d.diff);
   }
 }
Example #5
0
 @Override
 public String asText() {
   switch (type) {
     case ADDED:
       return type.name().toCharArray()[0]
           + "\t"
           + TextValueSerializer.asString(Optional.fromNullable((Object) newGeometry.orNull()));
     case REMOVED:
       return type.name().toCharArray()[0]
           + "\t"
           + TextValueSerializer.asString(Optional.fromNullable((Object) oldGeometry.orNull()));
     case MODIFIED:
     default:
       return type.name().toCharArray()[0] + "\t" + diff.asText();
   }
 }