Documentation
¶
Index ¶
- Constants
- func Exit(context Context) (int, error)
- func Loop(context Context) error
- type ComponentFactory
- type ComponentHolder
- type ComponentHolderFilter
- type ComponentInfo
- type ComponentInstance
- type ComponentLoader
- type ComponentLoading
- type ComponentScope
- type Components
- type ConfigBuilder
- type Configuration
- type Context
- type ContextCollections
- type ContextGetter
- type ContextInfo
- type ContextLoader
- type ExitCodeGenerator
- type FunctionInjectionTarget
- type FunctionInjectionTargetFn
- type Injection
- type InjectionSource
- type InjectionTarget
- type Injector
- type Looper
- type Runnable
- type SimpleContext
Constants ¶
View Source
const ExitCodeGeneratorClassName = "exit-code-generator"
View Source
const LooperClassName = "looper"
Variables ¶
This section is empty.
Functions ¶
Types ¶
type ComponentFactory ¶
type ComponentFactory interface {
NewInstance() ComponentInstance
}
ComponentFactory 一个组件的工厂
type ComponentHolder ¶
type ComponentHolder interface { GetInstance() ComponentInstance IsOriginalName(name string) bool GetInfo() ComponentInfo GetPrototype() lang.Object GetContext() Context MakeChild(context Context) ComponentHolder }
ComponentHolder 一个具体的组件的代理
type ComponentHolderFilter ¶
type ComponentHolderFilter func(name string, holder ComponentHolder) bool
type ComponentInfo ¶
type ComponentInfo interface { GetID() string GetClass() string GetAliases() []string GetClasses() []string GetScope() ComponentScope GetFactory() ComponentFactory GetPrototype() lang.Object IsTypeOf(typeName string) bool IsNameOf(alias string) bool }
ComponentInfo 一个组件的配置
type ComponentInstance ¶
type ComponentInstance interface { Get() lang.Object IsLoaded() bool Inject(context Context) error Init() error Destroy() error }
ComponentInstance 一个具体的组件的实例的引用
type ComponentLoader ¶
type ComponentLoader interface {
OpenLoading(context Context) (ComponentLoading, error)
}
ComponentLoader 用于加载组件的实例
type ComponentLoading ¶ added in v0.0.9
type ComponentLoading interface { io.Closer Pool() lang.ReleasePool Context() Context Load(h ComponentHolder) (lang.Object, error) LoadAll(h []ComponentHolder) ([]lang.Object, error) }
ComponentLoading 表示加载组件的会话
type ComponentScope ¶
type ComponentScope uint32
ComponentScope 枚举表示组件的作用域
const ( // ScopeMin 是作用域的最小值 ScopeMin ComponentScope = 0 // 最小 // ScopeSingleton 表示单例模式 ScopeSingleton ComponentScope = 1 // ScopeContext 表示上下文模式 ScopeContext ComponentScope = 2 // ScopePrototype 表示原型模式 ScopePrototype ComponentScope = 3 // ScopeMax 是作用域的最大值 ScopeMax ComponentScope = 4 // 最大 )
type Components ¶
type Components interface { // ids GetComponentNameList(includeAliases bool) []string // getters GetComponent(selector string) (ComponentHolder, error) GetComponents(selector string) []ComponentHolder GetComponentsByFilter(f ComponentHolderFilter) []ComponentHolder // export & import Export(map[string]ComponentHolder) map[string]ComponentHolder Import(map[string]ComponentHolder) }
Components 接口表示一个组件的集合
type ConfigBuilder ¶
type ConfigBuilder interface { AddComponent(info ComponentInfo) SetResources(res collection.Resources) SetEnableLoadPropertiesFromArguments(enable bool) IsEnableLoadPropertiesFromArguments() bool Create() Configuration }
ConfigBuilder 表示应用程序配置
type Configuration ¶
type Configuration interface { GetLoader() ContextLoader GetComponents() []ComponentInfo GetResources() collection.Resources GetEnvironment() collection.Environment IsEnableLoadPropertiesFromArguments() bool }
Configuration 表示应用程序配置
type Context ¶
type Context interface { ContextCollections ContextInfo // helper SetErrorHandler(h lang.ErrorHandler) GetErrorHandler() lang.ErrorHandler NewChild() Context GetComponent(selector string) (lang.Object, error) GetComponentList(selector string) ([]lang.Object, error) Injector() Injector ComponentLoader() ComponentLoader }
Context 表示一个通用的上下文对象
type ContextCollections ¶
type ContextCollections interface { GetReleasePool() lang.ReleasePool GetComponents() Components GetArguments() collection.Arguments GetAttributes() collection.Attributes GetEnvironment() collection.Environment GetProperties() collection.Properties GetParameters() collection.Parameters GetResources() collection.Resources }
type ContextGetter ¶
type ContextGetter interface { // for property GetProperty(name string) (string, error) GetPropertySafely(name string, _default string) string GetPropertyString(name string, _default string) string GetPropertyInt(name string, _default int) int }
ContextGetter 接口向 Context 的使用者提供简易的 getter 方法
type ContextInfo ¶
type ContextLoader ¶
type ContextLoader interface {
Load(config Configuration, args []string) (Context, error)
}
ContextLoader 用于加载进程上下文
type ExitCodeGenerator ¶
type ExitCodeGenerator interface {
ExitCode() int
}
type FunctionInjectionTarget ¶ added in v0.0.9
type FunctionInjectionTarget struct {
// contains filtered or unexported fields
}
func (*FunctionInjectionTarget) Close ¶ added in v0.0.9
func (inst *FunctionInjectionTarget) Close() error
func (*FunctionInjectionTarget) Init ¶ added in v0.0.9
func (inst *FunctionInjectionTarget) Init(fn FunctionInjectionTargetFn) InjectionTarget
type FunctionInjectionTargetFn ¶ added in v0.0.9
type Injection ¶
type Injection interface { io.Closer Context() Context Pool() lang.ReleasePool // 类选择器: ".class" // ID选择器: "#id" // 属性选择器: "${prop.name}" // value选择器: "foo" // context选择器: "context" Select(selector string) InjectionSource }
type InjectionSource ¶ added in v0.0.9
type InjectionTarget ¶ added in v0.0.9
type SimpleContext ¶
type SimpleContext interface { collection.Atts }
Source Files
¶
Click to show internal directories.
Click to hide internal directories.