@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 © 2021. All rights reserved.