condition

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Jul 2, 2023 License: MIT Imports: 0 Imported by: 1

Documentation

Index

Constants

View Source
const (
	GroupLogicAnd = iota
	GroupLogicOr
	GroupLogicXor
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Builder

type Builder interface {

	// Negation makes a resulting Condition negative.
	// May be set for any resulting Condition type.
	Negation() Builder

	// GroupLogic defines the logic for a resulting GroupCondition. Default is GroupLogicAnd.
	GroupLogic(l GroupLogic) Builder

	// GroupChildren defines the nested Condition set for a resulting GroupCondition.
	GroupChildren(children []Condition) Builder

	// BuildGroupCondition builds a GroupCondition.
	BuildGroupCondition() (c Condition)

	// MatchAttrKey defines the incoming messages attribute key to match for a resulting KeyCondition.
	// Default is empty string key. For a TextCondition empty key causes the matching against all attribute keys.
	MatchAttrKey(k string) Builder

	// MatchText defines the text search terms for a resulting TextCondition.
	MatchText(p string) Builder

	// MatchExact enables the exact text matching criteria for a resulting TextCondition.
	MatchExact() Builder

	// BuildTextCondition builds a TextCondition.
	BuildTextCondition() (c Condition)
}

func NewBuilder

func NewBuilder() Builder

type Condition

type Condition interface {
	IsNot() bool
}

func NewCondition

func NewCondition(not bool) Condition

type GroupCondition

type GroupCondition interface {
	Condition
	GetLogic() (logic GroupLogic)
	GetGroup() (group []Condition)
}

func NewGroupCondition

func NewGroupCondition(c Condition, logic GroupLogic, group []Condition) GroupCondition

type GroupLogic

type GroupLogic int

func (GroupLogic) String

func (gl GroupLogic) String() string

type KeyCondition

type KeyCondition interface {
	Condition
	GetKey() string
}

func NewKeyCondition

func NewKeyCondition(c Condition, k string) KeyCondition

type TextCondition added in v0.0.5

type TextCondition interface {
	KeyCondition
	GetTerm() string
	IsExact() bool
}

func NewTextCondition added in v0.0.5

func NewTextCondition(kc KeyCondition, pattern string, exact bool) TextCondition

Jump to

Keyboard shortcuts

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