@Override public String asText() { switch (type) { case ADDED: return type.name().toCharArray()[0] + "\t" + TextValueSerializer.asString(newGeometry); case REMOVED: return type.name().toCharArray()[0] + "\t" + TextValueSerializer.asString(oldGeometry); case MODIFIED: default: return type.name().toCharArray()[0] + "\t" + diff.asText(); } }
@Override public String asText() { switch (type) { case ADDED: return type.name().toCharArray()[0] + "\t" + TextValueSerializer.asString(newGeometry); case REMOVED: return type.name().toCharArray()[0] + "\t" + TextValueSerializer.asString(oldGeometry); case MODIFIED: default: return type.name().toCharArray()[0] + "\t" + diff.asText(); } }
public static AttributeDiff attributeDiffFromText(Class<?> clazz, String s) { String[] tokens = s.split("\t"); AttributeDiff ad; if (Geometry.class.isAssignableFrom(clazz)) { ad = new GeometryAttributeDiff(s); } else { if (AttributeDiff.TYPE.REMOVED.name().startsWith(tokens[0])) { Preconditions.checkArgument(tokens.length == 2, "Wrong difference definition:", s); Object oldValue = TextValueSerializer.fromString(FieldType.forBinding(clazz), tokens[1]); ad = new GenericAttributeDiffImpl(oldValue, null); } else if (AttributeDiff.TYPE.ADDED.name().startsWith(tokens[0])) { Preconditions.checkArgument(tokens.length == 2, "Wrong difference definition:", s); Object newValue = TextValueSerializer.fromString(FieldType.forBinding(clazz), tokens[1]); ad = new GenericAttributeDiffImpl(null, newValue); } else if (AttributeDiff.TYPE.MODIFIED.name().startsWith(tokens[0])) { Preconditions.checkArgument(tokens.length == 3, "Wrong difference definition:", s); Object oldValue = TextValueSerializer.fromString(FieldType.forBinding(clazz), tokens[1]); Object newValue = TextValueSerializer.fromString(FieldType.forBinding(clazz), tokens[2]); ad = new GenericAttributeDiffImpl(oldValue, newValue); } else { throw new IllegalArgumentException("Wrong difference definition:" + s); } } return ad; }
public static AttributeDiff attributeDiffFromText(Class<?> clazz, String s) { String[] tokens = s.split("\t"); AttributeDiff ad; if (Geometry.class.isAssignableFrom(clazz)) { ad = new GeometryAttributeDiff(s); } else { if (AttributeDiff.TYPE.REMOVED.name().startsWith(tokens[0])) { Preconditions.checkArgument(tokens.length == 2, "Wrong difference definition:", s); Object oldValue = TextValueSerializer.fromString(FieldType.forBinding(clazz), tokens[1]); ad = new GenericAttributeDiffImpl(oldValue, null); } else if (AttributeDiff.TYPE.ADDED.name().startsWith(tokens[0])) { Preconditions.checkArgument(tokens.length == 2, "Wrong difference definition:", s); Object newValue = TextValueSerializer.fromString(FieldType.forBinding(clazz), tokens[1]); ad = new GenericAttributeDiffImpl(null, newValue); } else if (AttributeDiff.TYPE.MODIFIED.name().startsWith(tokens[0])) { Preconditions.checkArgument(tokens.length == 3, "Wrong difference definition:", s); Object oldValue = TextValueSerializer.fromString(FieldType.forBinding(clazz), tokens[1]); Object newValue = TextValueSerializer.fromString(FieldType.forBinding(clazz), tokens[2]); ad = new GenericAttributeDiffImpl(oldValue, newValue); } else { throw new IllegalArgumentException("Wrong difference definition:" + s); } } return ad; }
@Override public String asText() { if (getType().equals(TYPE.MODIFIED)) { return getType().name().toCharArray()[0] + "\t" + attributeValueAsString(oldValue) + "\t" + attributeValueAsString(newValue); } else if (getType().equals(TYPE.ADDED)) { return getType().name().toCharArray()[0] + "\t" + attributeValueAsString(newValue); } else { return getType().name().toCharArray()[0] + "\t" + attributeValueAsString(oldValue); } }
@Override public String asText() { if (getType().equals(TYPE.MODIFIED)) { return getType().name().toCharArray()[0] + "\t" + attributeValueAsString(oldValue) + "\t" + attributeValueAsString(newValue); } else if (getType().equals(TYPE.ADDED)) { return getType().name().toCharArray()[0] + "\t" + attributeValueAsString(newValue); } else { return getType().name().toCharArray()[0] + "\t" + attributeValueAsString(oldValue); } }