public void writeStringValue(Object value) { builder.append(toJSON(value)); } public void writeNumberValue(Object value) {
public void writeStringValue(Object value) { builder.append(toJSON(value)); } public void writeNumberValue(Object value) {
public static String toJSON(Object value) { if (value == null) { return "null"; } if (value instanceof Number || value instanceof Boolean) { return value.toString(); } String str = (value instanceof String) ? (String) value : value.toString(); return toJSON(str); } public static String toJSON(String value) {
public static String toJSON(Object value) { if (value == null) { return "null"; } if (value instanceof Number || value instanceof Boolean) { return value.toString(); } String str = (value instanceof String) ? (String) value : value.toString(); return toJSON(str); } public static String toJSON(String value) {
public void writeStartEntry(String key) { if (isFirst) isFirst = false; else builder.append(", "); builder.append(toJSON(key)); builder.append(":"); } public void writeEndObject() {
public void writeStartEntry(String key) { if (isFirst) isFirst = false; else builder.append(", "); builder.append(toJSON(key)); builder.append(":"); } public void writeEndObject() {
@Override public void write(JSONStringWriter serializer) { String pathString = serializer.getPathLanguage() == PathLanguage.JSONPATH ? "$.permissions.[*][?(@.role-name="+JSONStringWriter.toJSON(role)+")]": "/permissions[role-name = "+JSONStringWriter.toJSON(role)+"]"; writeDelete(serializer, pathString, null ); } @Override
@Override public void write(JSONStringWriter serializer) { writeDelete(serializer, "$.permissions.[*][?(@.role-name="+JSONStringWriter.toJSON(role)+")]", null ); } @Override
@Override public void write(JSONStringWriter serializer) { // TODO: error if name empty String pathString = serializer.getPathLanguage() == PathLanguage.JSONPATH ? "$.properties.["+JSONStringWriter.toJSON(name)+"]": "/properties/node("+JSONStringWriter.toJSON(name)+")"; writeDelete(serializer, pathString, null ); } @Override
@Override public void write(JSONStringWriter serializer) { // TODO: error if name empty String pathString = serializer.getPathLanguage() == PathLanguage.JSONPATH ? "$.metadataValues.["+JSONStringWriter.toJSON(key)+"]": "/metadataValues/node("+JSONStringWriter.toJSON(key)+")"; writeDelete(serializer, pathString, null ); } @Override
@Override public void write(JSONStringWriter serializer) { // TODO: error if name empty writeReplaceApply(serializer, "$.properties.["+JSONStringWriter.toJSON(name)+"]", null, call ); } @Override
@Override public void write(JSONStringWriter serializer) { writeDelete(serializer, "$.collections[*][?(@="+JSONStringWriter.toJSON(collection)+")]", null); } @Override
@Override public void write(JSONStringWriter serializer) { // TODO: error if name empty writeDelete(serializer, "$.properties.["+JSONStringWriter.toJSON(name)+"]", null ); } @Override
@Override public void write(JSONStringWriter serializer) { String pathString = serializer.getPathLanguage() == PathLanguage.JSONPATH ? "$.collections[*][?(@="+JSONStringWriter.toJSON(collection)+")]" : "/collections[. = "+JSONStringWriter.toJSON(collection)+"]"; writeDelete(serializer, pathString, null); } @Override
@Override public void write(JSONStringWriter serializer) { // TODO: error if name empty String pathString = serializer.getPathLanguage() == PathLanguage.JSONPATH ? "$.properties.["+JSONStringWriter.toJSON(name)+"]": "/properties/node("+JSONStringWriter.toJSON(name)+")"; writeReplaceApply(serializer, pathString, null, call ); } @Override
@Override public void write(JSONStringWriter serializer) { // TODO: error if name empty String pathString = serializer.getPathLanguage() == PathLanguage.JSONPATH ? "$.metadataValues.["+JSONStringWriter.toJSON(key)+"]": "/metadataValues/node("+JSONStringWriter.toJSON(key)+")"; writeReplaceApply(serializer, pathString, null, call ); } @Override
@Override public void write(JSONStringWriter serializer) { String pathString = serializer.getPathLanguage() == PathLanguage.JSONPATH ? "$.collections[?(@="+JSONStringWriter.toJSON(oldCollection)+")]" : "/collections[. eq "+JSONStringWriter.toJSON(oldCollection)+"]"; writeStartReplace(serializer, pathString, null ); serializer.writeStartEntry("content"); serializer.writeStringValue(newCollection); serializer.writeEndObject(); serializer.writeEndObject(); } @Override
@Override public void write(JSONStringWriter serializer) { // TODO: error if name empty String pathString = serializer.getPathLanguage() == PathLanguage.JSONPATH ? "$.metadataValues.["+JSONStringWriter.toJSON(key)+"]": "/metadataValues/node("+JSONStringWriter.toJSON(key)+")"; writeStartReplace(serializer, pathString, null ); serializer.writeStartEntry("content"); serializer.writeStringValue(value); serializer.writeEndObject(); serializer.writeEndObject(); } @Override
@Override public void write(JSONStringWriter serializer) { writeStartReplace(serializer, "$.collections[*][?(@="+JSONStringWriter.toJSON(oldCollection)+")]", null ); serializer.writeStartEntry("content"); serializer.writeStringValue(newCollection); serializer.writeEndObject(); serializer.writeEndObject(); } @Override
@Override public void write(JSONStringWriter serializer) { // TODO: error if name empty writeStartReplace(serializer, "$.properties.["+JSONStringWriter.toJSON(oldName)+"]", null ); serializer.writeStartEntry("content"); serializer.writeStartObject(); serializer.writeStartEntry(newName); serializer.writeStringValue(newValue.toString()); serializer.writeEndObject(); serializer.writeEndObject(); serializer.writeEndObject(); } @Override