Annotation Interface MetadataScope


@MinMuleVersion("4.1") @Target(TYPE) @Retention(RUNTIME) @Documented public @interface MetadataScope
Associates the annotated Component to a TypeKeysResolver, and an OutputTypeResolver that will be used to resolve the Component's MetadataType dynamically This annotation can be used at Operation or Extension level. When used at Extension level this resolvers will serve as the default, and will be used to resolve the dynamic metadata of all its the operations and sources. If this annotation is instead used at Operation level, it will override any default Extension declaration and use the resolvers referenced at that level to resolve the metadata of that method. This will only affect the annotated element, while all the other operations will still respond to the Extension default. MetadataScope overriding works on all the declared resolvers, once the new scope is declared at a lower level than Extension then none of the top level resolvers will work anymore as defaults, and will have to be re-defined in the new declaration.
Since:
1.0
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Class<? extends org.mule.runtime.api.metadata.resolving.AttributesTypeResolver>
     
    Class<? extends org.mule.runtime.api.metadata.resolving.TypeKeysResolver>
     
    Class<? extends org.mule.runtime.api.metadata.resolving.OutputTypeResolver>
     
  • Element Details

    • keysResolver

      Class<? extends org.mule.runtime.api.metadata.resolving.TypeKeysResolver> keysResolver
      Returns:
      the associated TypeKeysResolver for the annotated Component
      Default:
      org.mule.runtime.extension.api.metadata.NullMetadataResolver.class
    • outputResolver

      Class<? extends org.mule.runtime.api.metadata.resolving.OutputTypeResolver> outputResolver
      Returns:
      the associated OutputTypeResolver for the annotated Component
      Default:
      org.mule.runtime.extension.api.metadata.NullMetadataResolver.class
    • attributesResolver

      Class<? extends org.mule.runtime.api.metadata.resolving.AttributesTypeResolver> attributesResolver
      Returns:
      the associated AttributesTypeResolver for the annotated Component
      Default:
      org.mule.runtime.extension.api.metadata.NullMetadataResolver.class