dependency

package
v0.0.0-...-a532a67 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 16, 2024 License: LGPL-3.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewProvider

func NewProvider(tagname string) app.DependencyProvider

NewProvider create new instance of a depenedency provider

func NewStaticProvider

func NewStaticProvider(tagname string, factories map[string]app.Factory, instances map[string]interface{}, injectors []app.Injector) app.DependencyProvider

NewStaticProvider create a dependency provider from Factories map. It is static (mean that it is pre-defined and blocked for modifications)

Types

type Provider

type Provider struct {
	// contains filtered or unexported fields
}

Provider is default dependency distributor

func (*Provider) AddDefaultFactory

func (d *Provider) AddDefaultFactory(name string, factory app.Factory) error

AddDefaultFactory define a default factory for dependency

func (*Provider) AddFactory

func (d *Provider) AddFactory(name string, factory app.Factory) error

AddFactory define a factory for dependency

func (*Provider) AddInjectors

func (d *Provider) AddInjectors(injectors []app.Injector) error

AddInjectors add new injector to dependency provider

func (*Provider) Block

func (d *Provider) Block()

Block prevent nev dependency definition

func (*Provider) Get

func (d *Provider) Get(name string) (interface{}, error)

Get return instance by name

func (*Provider) InjectTo

func (d *Provider) InjectTo(obj interface{}) error

InjectTo inject dependencies to object

func (*Provider) Keys

func (d *Provider) Keys() ([]string, error)

Keys return list of all defined dependencies names

func (*Provider) Set

func (d *Provider) Set(name string, instance interface{}) error

Set instance

func (*Provider) SetDefault

func (d *Provider) SetDefault(name string, instance interface{}) error

SetDefault set default dependency instance by name

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL