@Override public int hashCode() { int result = operation.hashCode(); result = 31 * result + text.hashCode(); return result; }
continue; eb.diff(new DiffMatchPatchDiff(Operation.valueOf(d.get("operation").asText()), d.get("text").asText()));
for (DiffMatchPatchDiff diff : edit.diff().diffs()) { jgen.writeStartObject(); jgen.writeStringField("operation", diff.operation().toString()); jgen.writeStringField("text", diff.text()); jgen.writeEndObject();
@Override public void serialize(final DiffMatchPatchEdit edit, final JsonGenerator jgen, final SerializerProvider provider) throws IOException { jgen.writeStartObject(); jgen.writeStringField("msgType", "patch"); jgen.writeNumberField("clientVersion", edit.clientVersion()); jgen.writeNumberField("serverVersion", edit.serverVersion()); jgen.writeStringField("checksum", edit.checksum()); jgen.writeArrayFieldStart("diffs"); if (edit.diff() != null) { for (DiffMatchPatchDiff diff : edit.diff().diffs()) { jgen.writeStartObject(); jgen.writeStringField("operation", diff.operation().toString()); jgen.writeStringField("text", diff.text()); jgen.writeEndObject(); } } jgen.writeEndArray(); } }
@Override public DiffMatchPatchEdit deserialize(final JsonParser jp, final DeserializationContext ctxt) throws IOException { final ObjectCodec oc = jp.getCodec(); final JsonNode edit = oc.readTree(jp); final Builder eb = DiffMatchPatchEdit.withChecksum(edit.get("checksum").asText()); eb.clientVersion(edit.get("clientVersion").asLong()); eb.serverVersion(edit.get("serverVersion").asLong()); final JsonNode diffsNode = edit.get("diffs"); if (diffsNode.isArray()) { for (JsonNode d : diffsNode) { eb.diff(new DiffMatchPatchDiff(Operation.valueOf(d.get("operation").asText()), d.get("text").asText())); } } return eb.build(); } }