github.com/Axway/agent-sdk@v1.1.101/pkg/filter/expr_value.go (about) 1 package filter 2 3 import "errors" 4 5 // ValueExpr - Get Value implementation. Evaulates the value from filter data based on selector name 6 type ValueExpr struct { 7 FilterType string 8 Name string 9 } 10 11 func newValueExpr(filterType, name string) CallExpr { 12 return &ValueExpr{ 13 FilterType: filterType, 14 Name: name, 15 } 16 } 17 18 // GetType - Returns the CallType 19 func (e *ValueExpr) GetType() CallType { 20 return GETVALUE 21 } 22 23 // Execute - Returns the value based on the selector name 24 func (e *ValueExpr) Execute(data Data) (interface{}, error) { 25 val, ok := data.GetValue(e.FilterType, e.Name) 26 if !ok { 27 return nil, errors.New("Filter key " + e.FilterType + "." + e.Name + " not found in filter data") 28 } 29 return val, nil 30 } 31 32 func (e *ValueExpr) String() string { 33 return e.FilterType + "." + e.Name 34 }