gs_dync

package
v1.3.0-alpha Latest Latest
Warning

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

Go to latest
Published: Mar 8, 2026 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package gs_dync provides dynamic configuration binding and refresh capabilities for Go-Spring applications.

It allows application components to register themselves as refreshable objects that automatically update their internal state whenever the underlying configuration changes.

Key components:

  • Properties: holds the current configuration and manages all registered `refreshable` objects.
  • Value[T]: a type-safe container for dynamic configuration values.
  • Listener: allows components to receive change notifications.
  • `refreshable`: interface that application components can implement to react to configuration updates.

This package is designed to be thread-safe and suitable for hot-reload scenarios in long-running applications.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Errors

type Errors struct {
	// contains filtered or unexported fields
}

Errors represents a collection of errors.

func (*Errors) Append

func (e *Errors) Append(err error)

Append adds an error to the collection if it is non-nil.

func (*Errors) Error

func (e *Errors) Error() string

Error concatenates all errors into a single string.

func (*Errors) Len

func (e *Errors) Len() int

Len returns the number of errors.

type Properties

type Properties struct {
	// contains filtered or unexported fields
}

Properties manages dynamic properties and refreshable objects.

func New

func New(p flatten.Storage) *Properties

New creates and returns a new Properties instance.

func (*Properties) Data

func (p *Properties) Data() flatten.Storage

Data returns the current properties.

func (*Properties) ObjectsCount

func (p *Properties) ObjectsCount() int

ObjectsCount returns the number of registered refreshable objects.

func (*Properties) Refresh

func (p *Properties) Refresh(prop flatten.Storage) (err error)

Refresh updates the properties and refreshes all bound objects as necessary.

func (*Properties) RefreshField

func (p *Properties) RefreshField(v reflect.Value, param conf.BindParam) error

RefreshField refreshes a field of a bean, optionally registering it as refreshable.

type Value

type Value[T any] struct {
	// contains filtered or unexported fields
}

Value represents a thread-safe object that can dynamically refresh its value.

func (*Value[T]) MarshalJSON

func (r *Value[T]) MarshalJSON() ([]byte, error)

MarshalJSON serializes the stored value as JSON.

func (*Value[T]) Value

func (r *Value[T]) Value() T

Value retrieves the current value stored in the object. If no value is set, it returns the zero value for the type T.

Jump to

Keyboard shortcuts

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