Main entry point for this framework to operate.

  • Depin
    • Basic
      • Identifiable
      • Object
        • Anything

no subtypes hierarchy

Constructors
Depinshared Depin({ClassDeclaration|FunctionOrValueDeclaration*} declarations = ...)

Transforms given declarations into dependencies allowing for further injection.

Parameters:
  • declarations = {}

    Declarations transformed into Tree

Attributes
readyshared static ready ready

Depin is ready

Inherited Attributes
Attributes inherited from: Object
hash, string
Methods
extractshared Result extract<Result>(FunctionOrValueDeclaration declaration)

Support entry point, for retreiving results of dependency resolution. Usable in frameworks like Android SDK or libgdx, where there is no possiblity to nicely create, new instance of given model but late attributes, needs to be provided manually in onCreate, see examples

Throws
injectshared Result inject<Result>(Injectable<Result> model)

Main functionality of this framework allowing to instantaite or call given Injectable using it's model. Be aware that for ceylon.language.meta.model:ValueModel, inject() always create new instance of given model. For ceylon.language.meta.model:FunctionModel result depends on implementation of function.

Parameters:
  • model
    • is Result result= factory.create(model).inject
Throws
notifyshared void notify<Event>(Event event)

Allows notification of Dependency.Decorator Handlers, with given event. This method honors type hierarchies so subtype events, will notify supertype Handlers, this also includes interfaces.

Inherited Methods
Methods inherited from: Object
equals
Nested Classes
Stateshared static abstract State

Notification state used by Handlers to allocate resources whenver Depin finishes initialization

readyshared static ready

Depin is ready