Version: v1.4.0 Latest Latest

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

Go to latest
Published: Jul 22, 2020 License: Apache-2.0 Imports: 10 Imported by: 0



Package factory provides hiboot factory interface

Package factory provides InstantiateFactory and ConfigurableFactory interface



View Source
const (
	// InstantiateFactoryName is the instance name of factory.instantiateFactory
	InstantiateFactoryName = "factory.instantiateFactory"
	// ConfigurableFactoryName is the instance name of factory.configurableFactory
	ConfigurableFactoryName = "factory.configurableFactory"


This section is empty.


func GetObjectQualifierName added in v1.3.0

func GetObjectQualifierName(object interface{}, name string) string

GetObjectQualifierName get the qualifier's name of object

func ParseParams added in v0.9.3

func ParseParams(params ...interface{}) (name string, object interface{})

ParseParams parse parameters


type ConfigurableFactory added in v0.5.4

type ConfigurableFactory interface {
	SystemConfiguration() *system.Configuration
	Configuration(name string) interface{}
	BuildProperties() (systemConfig *system.Configuration, err error)
	Build(configs []*MetaData)

ConfigurableFactory configurable factory interface

type Configuration added in v0.9.3

type Configuration interface {

Configuration configuration interface

type Deps added in v0.9.3

type Deps struct {
	// contains filtered or unexported fields

Deps the dependency mapping of configuration

func (*Deps) Get added in v0.9.3

func (c *Deps) Get(name string) (deps []string)

Get get the dependencies mapping

func (*Deps) Set added in v0.9.3

func (c *Deps) Set(dep interface{}, value []string)

Set set dependencies

type Factory

type Factory interface{}

Factory interface

type Instance added in v0.11.0

type Instance interface {
	Get(params ...interface{}) (retVal interface{})
	Set(params ...interface{}) (err error)
	Items() map[string]interface{}

type InstantiateFactory added in v0.5.4

type InstantiateFactory interface {
	Initialized() bool
	SetInstance(params ...interface{}) (err error)
	GetInstance(params ...interface{}) (retVal interface{})
	GetInstances(params ...interface{}) (retVal []*MetaData)
	Items() map[string]interface{}
	Append(i ...interface{})
	AppendComponent(c ...interface{})
	BuildComponents() (err error)
	Builder() (builder system.Builder)
	GetProperty(name string) interface{}
	SetProperty(name string, value interface{}) InstantiateFactory
	SetDefaultProperty(name string, value interface{}) InstantiateFactory
	DefaultProperties() map[string]interface{}
	InjectIntoFunc(object interface{}) (retVal interface{}, err error)
	InjectIntoMethod(owner, object interface{}) (retVal interface{}, err error)
	InjectDefaultValue(object interface{}) error
	InjectIntoObject(object interface{}) error
	InjectDependency(object interface{}) (err error)
	Replace(name string) interface{}
	InjectContextAwareObjects(ctx context.Context, dps []*MetaData) (runtimeInstance Instance, err error)

InstantiateFactory instantiate factory interface

type MetaData added in v0.9.0

type MetaData struct {
	Kind         string
	Name         string
	ShortName    string
	TypeName     string
	PkgName      string
	ObjectOwner  interface{}
	MetaObject   interface{}
	Type         reflect.Type
	DepNames     []string
	DepMetaData  []*MetaData
	ContextAware bool
	Instance     interface{}

MetaData is the injectable object meta data

func CastMetaData added in v0.11.0

func CastMetaData(object interface{}) (metaData *MetaData)

CastMetaData cast object to *factory.MetaData

func CloneMetaData added in v0.11.0

func CloneMetaData(src *MetaData) (dst *MetaData)

CloneMetaData is the func for cloning meta data

func NewMetaData added in v0.9.0

func NewMetaData(params ...interface{}) (metaData *MetaData)

NewMetaData create new meta data


Path Synopsis
Package autoconfigure implement ConfigurableFactory
Package autoconfigure implement ConfigurableFactory
Package depends provides dependency resolver for factory
Package depends provides dependency resolver for factory
Package bar is the test package for package depends
Package bar is the test package for package depends
Package fake is the test package for package depends
Package fake is the test package for package depends
Package foo is the test package for package depends
Package foo is the test package for package depends
Package instantiate implement InstantiateFactory
Package instantiate implement InstantiateFactory

Jump to

Keyboard shortcuts

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