
sirius.kernel.di.package-info Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of sirius-kernel Show documentation
Show all versions of sirius-kernel Show documentation
Provides common core classes and the microkernel powering all Sirius applications
/*
* Made with all the love in the world
* by scireum in Remshalden, Germany
*
* Copyright by scireum GmbH
* http://www.scireum.de - [email protected]
*/
/**
* Contains the micro kernel for the discovery based programming framework.
* The Micro Kernel
* This annotation based framework is the heart of SIRIUS. Most of the time, the annotations
* {@link sirius.kernel.di.std.Register} will be used to put parts (components) into the injector and
* {@link sirius.kernel.di.std.Part} or {@link sirius.kernel.di.std.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.
*
Adding Functionality
* To provide such functionality, a {@link sirius.kernel.di.ClassLoadAction} or a
* {@link sirius.kernel.di.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.
* Accessing Components
* To access components without using annotations, the {@link sirius.kernel.di.Injector} class can be used. If
* provides access to the {@link sirius.kernel.di.GlobalContext} which contains all registered parts (components).
* Note that the GlobalContext can also be injected using a {@link sirius.kernel.di.std.Part} annotation.
*/
package sirius.kernel.di;
© 2015 - 2025 Weber Informatics LLC | Privacy Policy