github.com/TIBCOSoftware/flogo-lib@v0.5.9/core/trigger/registry.go (about) 1 package trigger 2 3 import ( 4 "fmt" 5 ) 6 7 var ( 8 triggerFactories = make(map[string]Factory) 9 ) 10 11 func RegisterFactory(ref string, f Factory) error { 12 13 if len(ref) == 0 { 14 return fmt.Errorf("'ref' must be specified when registering a trigger factory") 15 } 16 17 if f == nil { 18 return fmt.Errorf("cannot register 'nil' trigger factory") 19 } 20 21 if triggerFactories[ref] != nil { 22 return fmt.Errorf("trigger factory already registered for ref '%s'", ref) 23 } 24 25 triggerFactories[ref] = f 26 27 return nil 28 } 29 30 func GetFactory(ref string) Factory { 31 return triggerFactories[ref] 32 } 33 34 func Factories() map[string]Factory { 35 //todo return copy 36 return triggerFactories 37 }