All Downloads are FREE. Search and download functionalities are using the official Maven repository.

sirius.kernel.di.package-info Maven / Gradle / Ivy

Go to download

Provides common core classes and the microkernel powering all Sirius applications

There is a newer version: 12.9.1
Show newest version
/*
 * 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