container

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Sep 2, 2020 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	CacheTags map[string]FieldTag
)

Functions

func TypeString

func TypeString(abstract interface{}) (typeString string)

Types

type Container

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

func New

func New() *Container

func (*Container) Bind

func (c *Container) Bind(abs, instance interface{}, singleton bool)

func (*Container) BindFunc

func (c *Container) BindFunc(abs interface{}, register InstanceRegister, singleton bool)

func (*Container) Bound

func (c *Container) Bound(abs interface{}) bool

func (*Container) GetRegisters

func (c *Container) GetRegisters() map[string]InstanceRegister

func (*Container) Init

func (c *Container) Init()

func (*Container) InitializeCondition

func (c *Container) InitializeCondition(f InitializerConditionFunc, i Initializer) *Container

func (*Container) InitializeRequire

func (c *Container) InitializeRequire(requireAbs interface{}, i Initializer) *Container

func (*Container) InitializeWith

func (c *Container) InitializeWith(i Initializer) *Container

func (*Container) Instance

func (c *Container) Instance(abs interface{}, params ...interface{}) reflect.Value

func (*Container) Invoke

func (c *Container) Invoke(f interface{}, params ...interface{}) ([]reflect.Value, error)

func (*Container) IsSingleton

func (c *Container) IsSingleton(abs interface{}) bool

func (*Container) MethodCall

func (c *Container) MethodCall(abs interface{}, method string, params ...interface{}) ([]reflect.Value, error)

func (*Container) Register

func (c *Container) Register(instance interface{}, singleton bool)

func (*Container) RegisterSingleton

func (c *Container) RegisterSingleton(instance interface{})

func (*Container) Singleton

func (c *Container) Singleton(abs interface{}, instance interface{})

type FieldTag

type FieldTag map[string]reflect.StructTag

func GetTags

func GetTags(i interface{}) FieldTag

type Initializer

type Initializer func(abs interface{}, last reflect.Value) reflect.Value

type InitializerConditionFunc

type InitializerConditionFunc func(abs interface{}) bool

type InstanceRegister

type InstanceRegister func(c *Container) reflect.Value

Jump to

Keyboard shortcuts

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