Documentation
¶
Index ¶
- func NewContainer() interfaces.Container
- type Builder
- func (b *Builder) Build() (interfaces.Container, error)
- func (b *Builder) Initialize(cfg interfaces.Config) error
- func (b *Builder) Logger() log.Logger
- func (b *Builder) MustBuild() interfaces.Container
- func (b *Builder) WithComponent(name string, component interface{}) *Builder
- func (b *Builder) WithConfig(cfg interfaces.StructuredConfig) *Builder
- func (b *Builder) WithFactory(name string, factory interfaces.ComponentFactory) *Builder
- func (b *Builder) WithLogger(logger log.Logger) *Builder
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewContainer ¶
func NewContainer() interfaces.Container
NewContainer creates a new, uninitialized container. Deprecated: Use NewBuilder for more flexible container initialization.
Types ¶
type Builder ¶
type Builder struct {
// contains filtered or unexported fields
}
Builder is a builder for creating and initializing a Container. It provides a fluent API for configuring and building a container instance.
func NewBuilder ¶
func NewBuilder(componentFactories map[string]interfaces.ComponentFactory) *Builder
NewBuilder creates a new Builder instance. The builder can be used to configure and build a container with the provided config.
func (*Builder) Build ¶
func (b *Builder) Build() (interfaces.Container, error)
Build initializes and returns the Container using the provided config. It returns the container and any error that occurred during initialization.
func (*Builder) Initialize ¶
func (b *Builder) Initialize(cfg interfaces.Config) error
Initialize consumes the configuration and initializes all core and generic components. This is the main logic hub for component creation.
func (*Builder) MustBuild ¶
func (b *Builder) MustBuild() interfaces.Container
MustBuild is like Build but panics if an error occurs. This is useful for initialization code that should fail fast.
func (*Builder) WithComponent ¶
WithComponent adds a pre-initialized component to the container.
func (*Builder) WithConfig ¶
func (b *Builder) WithConfig(cfg interfaces.StructuredConfig) *Builder
WithConfig sets the configuration that will be used when building the container.
func (*Builder) WithFactory ¶
func (b *Builder) WithFactory(name string, factory interfaces.ComponentFactory) *Builder
WithFactory registers a component factory with the container.