Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "COSMOS Bug Design 209248"
(New page: The Muse programming model is a composition-oriented model, where capabilities can be imposed on a resource implementation externally. In the annotations, the composition model can be supp...) |
|||
Line 7: | Line 7: | ||
The annotations should provide support for this model in order to | The annotations should provide support for this model in order to | ||
enforce/encourage alignment with the existing Muse programming model. | enforce/encourage alignment with the existing Muse programming model. | ||
+ | |||
+ | <pre> | ||
+ | |||
+ | /** | ||
+ | * Annotation used to support autowiring of | ||
+ | * Components within the management framework. | ||
+ | */ | ||
+ | @Target(FIELD) | ||
+ | @Retention(RUNTIME) | ||
+ | public @interface ManagedFrameworkAutowire { | ||
+ | /** | ||
+ | * Name of the desired Component | ||
+ | */ | ||
+ | String name() default ""; | ||
+ | |||
+ | /** | ||
+ | * Class of the desired Capability. This attribute works | ||
+ | * in conjunction with the ComposableManagedCapabilitySet | ||
+ | * annotation | ||
+ | */ | ||
+ | Class capability() default Void.class; | ||
+ | } | ||
+ | </pre> |
Revision as of 16:34, 16 November 2007
The Muse programming model is a composition-oriented model, where capabilities can be imposed on a resource implementation externally. In the annotations, the composition model can be supported programatically by creating a single facade over multiple capability implementations, but the annotations don't provide any support to make this easier.
The annotations should provide support for this model in order to enforce/encourage alignment with the existing Muse programming model.
/** * Annotation used to support autowiring of * Components within the management framework. */ @Target(FIELD) @Retention(RUNTIME) public @interface ManagedFrameworkAutowire { /** * Name of the desired Component */ String name() default ""; /** * Class of the desired Capability. This attribute works * in conjunction with the ComposableManagedCapabilitySet * annotation */ Class capability() default Void.class; }