@Override public String getSerializedConfiguration() throws InternalException { ObjectNode main = Constants.MAPPER.createObjectNode(); ArrayNode allow = main.putArray("allowed"); for (String a : allowed) allow.add(a); try { return Constants.MAPPER.writeValueAsString(main); } catch (JsonProcessingException e) { throw new InternalException("Can't serialize EnumAttributeSyntax to JSON", e); } }
@Override public void setSerializedConfiguration(String json) throws InternalException { JsonNode jsonN; try { jsonN = Constants.MAPPER.readTree(json); } catch (Exception e) { throw new InternalException("Can't deserialize StringAttributeSyntax from JSON", e); } ArrayNode allow = (ArrayNode) jsonN.get("allowed"); this.allowed = new HashSet<String>(allow.size()); for (int i = 0; i < allow.size(); i++) this.allowed.add(allow.get(i).asText()); this.allowed = Collections.unmodifiableSet(this.allowed); }