filterer

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Jul 10, 2019 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsAmbiguousError

func IsAmbiguousError(err error) bool

func IsNonexistentError

func IsNonexistentError(err error) bool

Types

type AmbiguousError

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

func NewAmbiguousError

func NewAmbiguousError(format string, data ...interface{}) *AmbiguousError

type BaseFilter

type BaseFilter interface {
	// AmbiguousError specifies what to error if
	// a single request returned multiple matches
	AmbiguousError() *AmbiguousError
	// NonexistentError specifies what to error if
	// a single request returned no matches
	NonexistentError() *NonexistentError
	// SetKind sets the kind for the filter
	SetKind(meta.Kind)
}

BaseFilter provides shared functionality for filter types

type Filterer

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

func NewFilterer

func NewFilterer(storage storage.Storage) *Filterer

func (*Filterer) Find

func (f *Filterer) Find(kind meta.Kind, filter BaseFilter) (meta.Object, error)

Find a single meta.Object of the given kind using the given filter

func (*Filterer) FindAll

func (f *Filterer) FindAll(kind meta.Kind, filter BaseFilter) ([]meta.Object, error)

Find all meta.Objects of the given kind using the given filter

type MetaFilter

type MetaFilter interface {
	BaseFilter
	// Every Object to be filtered is passed though FilterMeta, which should
	// return the Object on match, or nil if it doesn't match. The Objects
	// given to FilterMeta are of type meta.APIType, stripped of other contents.
	FilterMeta(meta.Object) (meta.Object, error)
}

MetaFilter implementations operate on meta.APIType objects, which are more light weight, but provide only name/UID matching.

type NonexistentError

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

func NewNonexistentError

func NewNonexistentError(format string, data ...interface{}) *NonexistentError

type ObjectFilter

type ObjectFilter interface {
	BaseFilter
	// Every Object to be filtered is passed though Filter, which should
	// return the Object on match, or nil if it doesn't match
	Filter(meta.Object) (meta.Object, error)
}

ObjectFilter implementations filter fully loaded meta.Objects

Jump to

Keyboard shortcuts

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