github.com/Axway/agent-sdk@v1.1.101/pkg/filter/compareableval.go (about) 1 package filter 2 3 // ComparableValue - Interface for RHS value operand 4 type ComparableValue interface { 5 eq(interface{}) bool 6 neq(interface{}) bool 7 any(interface{}) bool 8 String() string 9 } 10 11 // StringRHSValue - Represents the RHS value in simple condition 12 type StringRHSValue struct { 13 value string 14 } 15 16 func newStringRHSValue(value string) ComparableValue { 17 return &StringRHSValue{ 18 value: value, 19 } 20 } 21 22 func (scv *StringRHSValue) eq(valueToCompare interface{}) bool { 23 return valueToCompare == scv.value 24 } 25 26 func (scv *StringRHSValue) neq(valueToCompare interface{}) bool { 27 return valueToCompare != scv.value 28 } 29 30 func (scv *StringRHSValue) any(valuesToCompare interface{}) bool { 31 values := valuesToCompare.([]string) 32 for _, valueEntry := range values { 33 if scv.eq(valueEntry) { 34 return true 35 } 36 } 37 return false 38 } 39 40 func (scv *StringRHSValue) String() string { 41 return scv.value 42 }