See: Description
Interface | Description |
---|---|
ClassLoadAction |
Implementations of this class will be automatically detected and applied to
all matching classes on startup.
|
FieldAnnotationProcessor |
Implementations of this class will be automatically detected and used to wire objects
(to handle annotations placed on fields).
|
GlobalContext |
Used to access parts managed by the
Injector . |
Initializable |
Classes implementing this interface will be invoked, once the
Injector is fully initialized (all annotations
are processed). |
MutableGlobalContext |
Visible for instances of
ClassLoadAction and FieldAnnotationProcessor during the
system
initialization to make parts visible in the GlobalContext |
PartCollection<P> |
Represents a collection, which always contains all registered parts for the
given interface (PartCollection
PartCollection.getInterface() . |
Class | Description |
---|---|
Injector |
Central class for collecting and injecting dependencies (which are called parts).
|
Annotation Type | Description |
---|---|
Replace |
Classes provided by customizations can be annotated with this to replace classes provided as a standard class.
|
Register
will be used to put parts (components) into the injector and
Part
or Parts
will be used to retrieve (discover) those.
Note that all these annotations are not part of the micro kernel but already extensions to it (this is why it is a micro kernel). Therefore own handlers for custom annotations or patterns can be implemented and treated as first class citizens.
ClassLoadAction
or a
FieldAnnotationProcessor
has to be implemented. Those implementation will be picked up
by Sirius during the start phase and therefore be automatically applied. All that is required is a file called
component.marker in the classpath root of the respective code base to make these and other classes
visible to Sirius.
Injector
class can be used. If
provides access to the GlobalContext
which contains all registered parts (components).
Note that the GlobalContext can also be injected using a Part
annotation.Copyright © 2018. All rights reserved.