Annotation Interface DocumentedProperty


@Target({TYPE,FIELD}) @Retention(RUNTIME) public @interface DocumentedProperty
Annotation is duplicated from cds-configuration-processor/src/main/java/com/sap/cds/docs/config/DocumentedProperty.java

The reason is that we don't want to introduce a dependency on cds-configuration-processor. We also don't have and don't want to introduce a shared module where we could move this file to. Both of these options would require publishing an additional jar.

Reversing the dependency by moving it to cds-services-api and using Reflection to load the annotation dynamically in cds-processing-processor isn't possible, because the classes aren't available yet when the mvn execution plugin runs the PropertiesPostProcessor in cds-services-api.

  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    boolean
    When set to true, enforces traversing into this nested property class.
    boolean
    When set to false excludes this nested property's header line from the documentation
    boolean
    When set to true excludes the property's value from logging.
    boolean
    When set to true includes this property into the documentation.
  • Element Details

    • value

      boolean value
      When set to true includes this property into the documentation. When set to false excludes this (otherwise transitively included) property from the documentation
      Returns:
      true, if the property should be included, false if it should be excluded from the documentation.
      Default:
      true
    • header

      boolean header
      When set to false excludes this nested property's header line from the documentation
      Returns:
      false, if the nested property's header line should be excluded
      Default:
      true
    • forceNesting

      boolean forceNesting
      When set to true, enforces traversing into this nested property class. By default only nested classes that are defined in processed class are considered.
      Returns:
      true, if traversing into this nested property class should be enforced.
      Default:
      false
    • sensitive

      boolean sensitive
      When set to true excludes the property's value from logging.
      Returns:
      true, if the property value may contain sensitive data, false otherwise.
      Default:
      false