Documentation ¶
Overview ¶
Package factory provides hiboot factory interface
Package factory provides InstantiateFactory and ConfigurableFactory interface
Index ¶
Constants ¶
View Source
const ( // InstantiateFactoryName is the instance name of factory.instantiateFactory InstantiateFactoryName = "github.com/hidevopsio/hiboot/pkg/factory.instantiateFactory" // ConfigurableFactoryName is the instance name of factory.configurableFactory ConfigurableFactoryName = "github.com/hidevopsio/hiboot/pkg/factory.configurableFactory" )
View Source
const ( ScopeSingleton = "singleton" ScopePrototype = "prototype" ScopeRequest = "request" )
Variables ¶
This section is empty.
Functions ¶
func GetObjectQualifierName ¶ added in v1.5.0
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
Types ¶
type ConfigurableFactory ¶ added in v0.5.4
type ConfigurableFactory interface { InstantiateFactory SystemConfiguration() *system.Configuration Configuration(name string) interface{} BuildProperties() (systemConfig *system.Configuration, err error) StartSchedulers(schedulerServices []*MetaData) (schedulers []*scheduler.Scheduler) 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
type InstanceContainer ¶ added in v1.8.0
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(instanceContainer InstanceContainer, object interface{}) (retVal interface{}, err error) InjectIntoMethod(instanceContainer InstanceContainer, owner, object interface{}) (retVal interface{}, err error) InjectDefaultValue(object interface{}) error InjectIntoObject(instanceContainer InstanceContainer, object interface{}) error InjectDependency(instanceContainer InstanceContainer, object interface{}) (err error) Replace(name string) interface{} InjectScopedObjects(ctx context.Context, dependencies []*MetaData, ic InstanceContainer) (instanceContainer InstanceContainer, err error) InjectScopedDependencies(instanceContainer InstanceContainer, dependencies []*MetaData) (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 InstName string ObjectOwner interface{} MetaObject interface{} Type reflect.Type DepNames []string DepMetaData []*MetaData Scope string BeforeInit bool AfterInit 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
CloneMetaData is the func for cloning metadata
func NewMetaData ¶ added in v0.9.0
func NewMetaData(params ...interface{}) (metaData *MetaData)
NewMetaData create new meta data
Directories ¶
Path | Synopsis |
---|---|
Package autoconfigure implement ConfigurableFactory
|
Package autoconfigure implement ConfigurableFactory |
Package depends provides dependency resolver for factory
|
Package depends provides dependency resolver for factory |
bar
Package bar is the test package for package depends
|
Package bar is the test package for package depends |
fake
Package fake is the test package for package depends
|
Package fake is the test package for package depends |
foo
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 |
Click to show internal directories.
Click to hide internal directories.