Used to declare and access meta-info.
This is effectively an internal class and should not be used directly.
MetaInfo can be set on composites during the assembly phase, a.k.a the bootstrap process. MetaInfo is any additional data that one wishes to associate at the 'class level' instead of instance level of a composite declaration.
To set the MetaInfo on a Composite, call the {@code setMetaInfo()} methods on the various composite declarationtypes, such as;
public void assemble( ModuleAssembly module ) throws AssemblyException { Map properties = ...; module.services( MyService.class ).setMetaInfo( properties ); }
which can later be retrieved by calling the {@code metaInfo()} method on the composite itself. For the exampleabove that would be;
@Mixins(MyServiceMixin.class) public interface MyService extends ServiceComposite { } public abstract class MyServiceMixin implements MyService { private Properties props; public MyServiceMixin() { props = metaInfo( Map.class ); } }