Silk DI 0.6


Package se.jbee.inject

Interface Summary
Injectable<T> Knows how to resolve a specific instance for the given Demand.
Injector Knows how to *resolve* an instance for a given Dependency.
Injectron<T> A kind of singleton for a Resource inside a Injector.
Named Names are used to distinguish Instances of the same Type.
Parameter<T> Parameters are *not* about to find/identify the Constructor to use!
PreciserThan<T extends PreciserThan<T>> When determining what Resource is used to inject a Dependency everything is sorted by its Precision.
Repository Manages the already created instances.
Resourced<T> Has a Resource
Scope A Scope describes a particular lifecycle.
Supplier<T> A Supplier is a source or factory for specific instances.
Typed<T> Has a Type, is typed.
 

Class Summary
Array Silks array util.
Demand<T> A Demand is a Dependency resolved to a specific Resource in the context of a specific Injector (the Repository within it).
Dependency<T> Describes what is wanted/needed as parameter to construct a instance of T.
Emergence<T> A description of an Instance together with its duration of life (Expiry).
Expiry How frequently do instances expire (become garbage, are not used any longer).
Injection Describes on "stack-frame" within the injection process.
Instance<T> Used to tell that we don#t want just one singleton at a time but multiple distinguished by the Name used.
Instances A hierarchy of Instances.
Name A Name is used as discriminator in cases where multiple Instances are bound for the same Type.
Packages A set of Packages described one or more root packages (on the same hierarchy level/depth) with or without their sub-packages.
Precision A util to find out if one object is PreciserThan an other one.
Resource<T> Describes WHAT can be injected and WHERE it can be injected.
Source Where does a bind come from and what type of declaration has it been.
Target Describes where a Resource is available for injection.
Type<T> A generic version of Class like Type but without a complex hierarchy.
 

Enum Summary
DeclarationType The DeclarationType is used to keep track of the origin of binding declarations.
 

Exception Summary
DIRuntimeException Base RuntimeException for all exceptions cennected to the dependency injection process itself.
DIRuntimeException.DependencyCycleException A dependency cycle so that injection is not possible.
DIRuntimeException.MoreFrequentExpiryException It has been tried to inject a shorter living instance into one that will most likely outlive the injected one.
DIRuntimeException.NoSuchFunctionException A method has been described by its return and Parameter Types (e.g. for use as factory or service) but such a method cannot be found.
DIRuntimeException.NoSuchResourceException An Injector couldn't find a Resource that matches a Dependency to resolve.
 


Silk DI 0.6