package tests.models; import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; @JsonIgnoreProperties(ignoreUnknown = true) @JsonInclude(Include.NON_EMPTY) public class Choir { @JsonProperty("choirName") private String choirName; @JsonProperty("address") private Address address; public Choir() { } public String getChoirName() { return choirName; } public void setChoirName(String choirName) { this.choirName = choirName; } public Address getAddress() { return address; } public void setAddress(Address address) { this.address = address; } public String toJson(boolean pretty) { ObjectMapper mapper = new ObjectMapper(); mapper.setVisibility(mapper.getSerializationConfig().getDefaultVisibilityChecker() .withFieldVisibility(JsonAutoDetect.Visibility.ANY) .withGetterVisibility(JsonAutoDetect.Visibility.NONE) .withSetterVisibility(JsonAutoDetect.Visibility.NONE) .withCreatorVisibility(JsonAutoDetect.Visibility.NONE)); String toret = ""; if (pretty) { mapper.enable(SerializationFeature.INDENT_OUTPUT); } try { toret = mapper.writeValueAsString(this); } catch (JsonProcessingException e) { e.printStackTrace(); } return toret; } }