Contact Us 1-800-596-4880

Core Annotations (dw::Core)

Annotation Definition Description

AnnotationTarget

@AnnotationTarget(targets: Array<String>)

Defines where the Annotation can be used. If not defined, it can be used in any possible target.

Options are:

  • Parameter: For function parameters.

  • Function: For function definitions.

  • Variable: For variable definitions.

  • Import: For import definitions.

DesignOnlyType

@DesignOnlyType()

Annotation that marks a parameter type as Design Only. This means that this field type is only validated at design time. At runtime, only minimal type validation takes place. This is useful for performance reasons, especially with complex Object types.

Lazy

@Lazy()

Annotation that marks a Variable declaration to be Lazily initialized.

Introduced in DataWeave 2.3.0. Supported by Mule 4.3 and later.

RuntimePermissions

@RuntimePermissions(permissions: Array<String>)

Annotation to specify that a function needs a given set of Runtime Permissions to be executed

Since

@Since(version: String)

Annotation used to define the version from which this functionality is available.

Introduced in DataWeave 2.3.0. Supported by Mule 4.3 and later.

StreamCapable

@StreamCapable()

Annotation that marks a parameter as Stream capable. This means that this field is going to consume the Array of Object in a forward only manner.

TailRec

@TailRec()

Annotation that marks a function to be Tail Recursive. If the function is not tail recursive, it will start failing.