Documentation
¶
Index ¶
- type Collections
- type ComponentRegistration
- type ComponentRegistry
- type ComponentRegistryFunc
- type Context
- type Injection
- type InjectionExt
- type Life
- type LifeManager
- type Lifecycle
- type Module
- type ModuleBuilder
- func (inst *ModuleBuilder) Components(fn ComponentRegistryFunc) *ModuleBuilder
- func (inst *ModuleBuilder) Create() Module
- func (inst *ModuleBuilder) Depend(deps ...Module) *ModuleBuilder
- func (inst *ModuleBuilder) EmbedResources(fs embed.FS, basepath string) *ModuleBuilder
- func (inst *ModuleBuilder) Name(name string) *ModuleBuilder
- func (inst *ModuleBuilder) Revision(rev int) *ModuleBuilder
- func (inst *ModuleBuilder) Version(version string) *ModuleBuilder
- type OnCreateFunc
- type OnDestroyFunc
- type OnLoopFunc
- type OnStartFunc
- type OnStartPostFunc
- type OnStartPreFunc
- type OnStopFunc
- type OnStopPostFunc
- type OnStopPreFunc
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Collections ¶
type Collections struct { Arguments arguments.Table Attributes attributes.Table Environment environment.Table Parameters parameters.Table Properties properties.Table Resources resources.Table }
Collections 持有上下文中的各种资源集合
func (*Collections) Clone ¶ added in v0.9.6
func (inst *Collections) Clone(mode safe.Mode) *Collections
Clone 以指定模式克隆这个集合
func (*Collections) Complete ¶
func (inst *Collections) Complete(mode safe.Mode)
Complete 完善集合中的内容(如果需要)
type ComponentRegistration ¶ added in v0.9.5
type ComponentRegistration struct { ID components.ID Classes string // 类名列表,项与项之间以空格符(SPACE)分隔 Aliases string // 别名列表,项与项之间以空格符(SPACE)分隔 Scope string // 作用域 'singleton'|'prototype' Registry ComponentRegistry // 提交后,这个字段会重置为nil NewFunc func() any InjectFunc func(c InjectionExt, instance any) error }
ComponentRegistration 表示组件注册信息
func (*ComponentRegistration) Commit ¶ added in v0.9.5
func (inst *ComponentRegistration) Commit() error
Commit 把注册信息提交到 ComponentRegistry
type ComponentRegistry ¶ added in v0.9.5
type ComponentRegistry interface { NewRegistration() *ComponentRegistration Register(r *ComponentRegistration) error }
ComponentRegistry 是组件注册
type ComponentRegistryFunc ¶ added in v0.9.5
type ComponentRegistryFunc func(r ComponentRegistry) error
ComponentRegistryFunc 是组件的注册函数
type Context ¶
type Context interface { io.Closer context.Context Mode() safe.Mode // NewChild() Context NewInjection(scope components.Scope) Injection GetArguments() arguments.Table GetAttributes() attributes.Table GetComponents() components.Table GetEnvironment() environment.Table GetProperties() properties.Table GetParameters() parameters.Table GetResources() resources.Table GetModules() []Module GetMainModule() Module GetLifeManager() LifeManager SelectComponents(selector components.Selector) ([]any, error) SelectComponent(selector components.Selector) (any, error) GetComponent(id components.ID) (any, error) ListComponentIDs() []components.ID }
Context 表示一个 starter 应用上下文
type Injection ¶
type Injection interface { components.Injection Ext() InjectionExt GetContext() Context LifeManager() LifeManager Complete() error }
Injection 表示一个注入上下文
type InjectionExt ¶ added in v0.9.5
type InjectionExt interface { GetInjection() Injection GetContext() Context GetString(selector components.Selector) string GetBool(selector components.Selector) bool GetRune(selector components.Selector) rune GetByte(selector components.Selector) byte GetAny(selector components.Selector) any GetInt(selector components.Selector) int GetInt8(selector components.Selector) int8 GetInt16(selector components.Selector) int16 GetInt32(selector components.Selector) int32 GetInt64(selector components.Selector) int64 GetUint(selector components.Selector) uint GetUint8(selector components.Selector) uint8 GetUint16(selector components.Selector) uint16 GetUint32(selector components.Selector) uint32 GetUint64(selector components.Selector) uint64 GetFloat32(selector components.Selector) float32 GetFloat64(selector components.Selector) float64 GetComponent(selector components.Selector) any ListComponents(selector components.Selector) []any }
InjectionExt 是 Injection 的扩展部分
type Life ¶
type Life struct { Order int // 表示初始化顺序, 值越大越靠后 OnCreate OnCreateFunc OnStartPre OnStartPreFunc OnStart OnStartFunc OnStartPost OnStartPostFunc OnLoop OnLoopFunc OnStopPre OnStopPreFunc OnStop OnStopFunc OnStopPost OnStopPostFunc OnDestroy OnDestroyFunc }
Life ...
type LifeManager ¶
LifeManager ...
func NewLifeManager ¶ added in v0.9.21
func NewLifeManager() LifeManager
NewLifeManager 新建一个 LifeManager
type Module ¶
type Module interface { Name() string Version() string Revision() int Dependencies() []Module Resources() resources.Table RegisterComponents(r ComponentRegistry) error }
Module 表示一个 Starter 模块
type ModuleBuilder ¶
type ModuleBuilder struct {
// contains filtered or unexported fields
}
ModuleBuilder 是用来创建模块的工具
func (*ModuleBuilder) Components ¶
func (inst *ModuleBuilder) Components(fn ComponentRegistryFunc) *ModuleBuilder
Components 用于设置组件注册函数
func (*ModuleBuilder) Depend ¶
func (inst *ModuleBuilder) Depend(deps ...Module) *ModuleBuilder
Depend 方法用来添加依赖项
func (*ModuleBuilder) EmbedResources ¶
func (inst *ModuleBuilder) EmbedResources(fs embed.FS, basepath string) *ModuleBuilder
EmbedResources 方法用来添加嵌入的资源
func (*ModuleBuilder) Name ¶
func (inst *ModuleBuilder) Name(name string) *ModuleBuilder
Name 方法用来设置模块名称
func (*ModuleBuilder) Revision ¶
func (inst *ModuleBuilder) Revision(rev int) *ModuleBuilder
Revision 方法用来设置模块的版本编号
func (*ModuleBuilder) Version ¶
func (inst *ModuleBuilder) Version(version string) *ModuleBuilder
Version 方法用来设置模块的版本号
Source Files
¶
Click to show internal directories.
Click to hide internal directories.