Annotation Interface Metadata


@Retention(RUNTIME) @Documented @Target({TYPE,METHOD,FIELD}) public @interface Metadata
Meta data for EIPs, components, data formats and other Camel concepts

For example to associate labels to Camel components

  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Annotations data for Camel concepts such as components, EIP, etc.
    Indicates the list of schemes for which this metadata is applicable.
    boolean
    Whether to parameter can be configured as autowired
    To define a default value.
    Additional description that can explain the user about the deprecation and give reference to what to use instead.
    Returns a description of this entity.
    A human display name of the parameter.
    Allows to define enums this options accepts.
    To exclude one or more properties.
    The first version this functionality was added to Apache Camel.
    To include one or more properties.
    If the option is some specific language such as SQL, XSLT, XML, JavaScript or something else.
    To re-associate the preferred Java type of this parameter.
    To define one or more labels.
    boolean
    Whether the option can be large input such as a SQL query, XSLT template, or scripting code.
    boolean
    To define that this entity is required.
    boolean
    Whether the option is secret/sensitive information such as a password.
    boolean
    Whether to skip this option
    boolean
    Whether the option can refer to a file by using file: or classpath: as prefix and specify the location of the file.
    An optional human readable title of this entity, to be used instead of a computed title.
  • Element Details

    • displayName

      String displayName
      A human display name of the parameter.

      This is used for documentation and tooling only.

      Default:
      ""
    • label

      String label
      To define one or more labels.

      Multiple labels can be defined as a comma separated value.

      Default:
      ""
    • defaultValue

      String defaultValue
      To define a default value.
      Default:
      ""
    • required

      boolean required
      To define that this entity is required.
      Default:
      false
    • title

      String title
      An optional human readable title of this entity, to be used instead of a computed title.
      Default:
      ""
    • description

      String description
      Returns a description of this entity.

      This is used for documentation and tooling only.

      Default:
      ""
    • enums

      String enums
      Allows to define enums this options accepts.

      If the type is already an enum, then this option should not be used; instead you can use this option when the type is a String that only accept certain values.

      Multiple values is separated by comma.

      Default:
      ""
    • secret

      boolean secret
      Whether the option is secret/sensitive information such as a password.
      Default:
      false
    • autowired

      boolean autowired
      Whether to parameter can be configured as autowired

      This is used for automatic autowiring the option via its Java type, by looking up in the registry to find if there is a single instance of matching type, which then gets configured. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.

      This is only supported on components, data formats, languages, etc; not on endpoints.

      Default:
      false
    • javaType

      String javaType
      To re-associate the preferred Java type of this parameter.

      This is used for parameters which are of a specialized type but can be configured by another Java type, such as from a String.

      Default:
      ""
    • firstVersion

      String firstVersion
      The first version this functionality was added to Apache Camel.
      Default:
      ""
    • deprecationNote

      String deprecationNote
      Additional description that can explain the user about the deprecation and give reference to what to use instead.
      Default:
      ""
    • skip

      boolean skip
      Whether to skip this option
      Default:
      false
    • excludeProperties

      String excludeProperties
      To exclude one or more properties.

      This is for example used when a Camel component extend another component, and then may need to not use some of the properties from the parent component. Multiple properties can be separated by comma.

      Default:
      ""
    • includeProperties

      String includeProperties
      To include one or more properties. Some dataformats share same base but individually they have some specific options, then this can be used to specify which options each implementation only supports.
      Default:
      ""
    • applicableFor

      String[] applicableFor
      Indicates the list of schemes for which this metadata is applicable. This is used to filter out message headers that are shared with several endpoints but only applicable for some of them.

      In the next example, the header SOME_HEADER is only applicable for endpoints whose scheme is "foo" or "bar".

       
      
       @Metadata(description = "some description", javaType = "String", applicableFor = {"foo", "bar"})
       public static final String SOME_HEADER = "someHeaderName";
       
       
      Default:
      {}
    • supportFileReference

      boolean supportFileReference
      Whether the option can refer to a file by using file: or classpath: as prefix and specify the location of the file.
      Default:
      false
    • largeInput

      boolean largeInput
      Whether the option can be large input such as a SQL query, XSLT template, or scripting code. This can be used to help tooling to provide an input form instead of a single input field to give better user experience.
      Default:
      false
    • inputLanguage

      String inputLanguage
      If the option is some specific language such as SQL, XSLT, XML, JavaScript or something else. This can be used to help tooling to provide a better user experience.
      Default:
      ""
    • annotations

      String[] annotations
      Annotations data for Camel concepts such as components, EIP, etc.
      Default:
      {}