@Target(value=TYPE) @Retention(value=RUNTIME) @Documented public @interface MetadataScope
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.| Modifier and Type | Optional Element and Description |
|---|---|
Class<? extends AttributesTypeResolver> |
attributesResolver |
Class<? extends TypeKeysResolver> |
keysResolver |
Class<? extends OutputTypeResolver> |
outputResolver |
public abstract Class<? extends TypeKeysResolver> keysResolver
TypeKeysResolver for the annotated Componentpublic abstract Class<? extends OutputTypeResolver> outputResolver
OutputTypeResolver for the annotated Componentpublic abstract Class<? extends AttributesTypeResolver> attributesResolver
AttributesTypeResolver for the annotated ComponentCopyright © 2020. All rights reserved.