protected JsonObjectBuilder createJson()

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;
   }