cfg

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Oct 4, 2020 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ErrCodeNilCfg               state.ErrCode = "gowfnet.cfg.nilConfig"
	ErrCodeCfgAlreadyRegistered state.ErrCode = "gowfnet.cfg.alreadyRegistered"
	ErrCodeCfgNotRegistered     state.ErrCode = "gowfnet.cfg.notRegistered"
)
View Source
const (
	ErrCodeUnknownTransitionID state.ErrCode = "gowfnet.cfg.unknownTransition"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type IDGetter

type IDGetter interface {
	GetID() string
}

type Interface

type Interface interface {
	GetStart() IDGetter
	GetFinish() IDGetter
	GetPlaces() []IDGetter
	GetTransitions() TransitionRegistryInterface
}

type Minimal

type Minimal struct {
	Start       StringID                  `json:"start"`
	Finish      StringID                  `json:"finish"`
	Places      []StringID                `json:"places"`
	Transitions MinimalTransitionRegistry `json:"transitions"`
}

Minimal is a implementation of Interface. This contains only required fields. The easiest ways of setting config are via const or via json.

func (Minimal) GetFinish

func (m Minimal) GetFinish() IDGetter

func (Minimal) GetPlaces

func (m Minimal) GetPlaces() []IDGetter

func (Minimal) GetStart

func (m Minimal) GetStart() IDGetter

func (Minimal) GetTransitions

func (m Minimal) GetTransitions() TransitionRegistryInterface

type MinimalTransition

type MinimalTransition struct {
	To   []StringID `json:"to"`
	From []StringID `json:"from"`
}

MinimalTransition is a simple implementation of TransitionInterface. This contains only required fields.

func (MinimalTransition) GetFrom

func (m MinimalTransition) GetFrom() []IDGetter

func (MinimalTransition) GetTo

func (m MinimalTransition) GetTo() []IDGetter

type MinimalTransitionRegistry

type MinimalTransitionRegistry map[string]MinimalTransition

MinimalTransitionRegistry is a simple implementation of TransitionRegistryInterface. This contains only required fields.

func (MinimalTransitionRegistry) GetAsMap

func (MinimalTransitionRegistry) GetByID

func (m MinimalTransitionRegistry) GetByID(transitionID IDGetter) (TransitionInterface, error)

func (MinimalTransitionRegistry) MarshalJSON

func (m MinimalTransitionRegistry) MarshalJSON() ([]byte, error)

func (*MinimalTransitionRegistry) UnmarshalJSON

func (m *MinimalTransitionRegistry) UnmarshalJSON(bytes []byte) error

type Registry

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

Registry is a registry for config. Very often you provide more than one configured net for users.

func NewRegistry

func NewRegistry() *Registry

NewRegistry init empty registry.

func (Registry) AddWithName

func (r Registry) AddWithName(name string, cfg Interface) error

AddWithName returns err if one of params will be unexpected.

func (Registry) GetByName

func (r Registry) GetByName(name string) (Interface, error)

GetByName return Config or err if config was not registered.

type StringID

type StringID string

StringID is simple implementation of IDGetter interface.

func CreateStringID

func CreateStringID(data string) StringID

CreateStringID build StringID from built-int string.

func (StringID) GetID

func (s StringID) GetID() string

GetID return value as a string.

type TransitionInterface

type TransitionInterface interface {
	GetFrom() []IDGetter
	GetTo() []IDGetter
}

type TransitionRegistryInterface

type TransitionRegistryInterface interface {
	GetAsMap() map[string]TransitionInterface
	GetByID(transitionID IDGetter) (TransitionInterface, error)
}

Directories

Path Synopsis
nolint:dupl nolint:dupl
nolint:dupl nolint:dupl

Jump to

Keyboard shortcuts

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