in src/main/java/org/apache/sling/feature/extension/apiregions/api/config/ConfigurableEntity.java [203:231]
protected JsonObjectBuilder createJson() throws IOException {
final JsonObjectBuilder objBuilder = super.createJson();
if ( !this.getPropertyDescriptions().isEmpty() ) {
final JsonObjectBuilder propBuilder = Json.createObjectBuilder();
for(final Map.Entry<String, PropertyDescription> entry : this.getPropertyDescriptions().entrySet()) {
propBuilder.add(entry.getKey(), entry.getValue().createJson());
}
objBuilder.add(InternalConstants.KEY_PROPERTIES, propBuilder);
}
if ( this.getMode() != null ) {
objBuilder.add(InternalConstants.KEY_MODE, this.getMode().name());
}
if ( this.getRegion() != Region.GLOBAL ) {
objBuilder.add(InternalConstants.KEY_REGION, this.getRegion().name());
}
if ( this.isAllowAdditionalProperties() ) {
objBuilder.add(InternalConstants.KEY_ALLOW_ADDITIONAL_PROPERTIES, this.isAllowAdditionalProperties());
}
if ( !this.getInternalPropertyNames().isEmpty() ) {
final JsonArrayBuilder arrayBuilder = Json.createArrayBuilder();
for(final String name : this.getInternalPropertyNames()) {
arrayBuilder.add(name);
}
objBuilder.add(InternalConstants.KEY_INTERNAL_PROPERTIES, arrayBuilder);
}
return objBuilder;
}