1package plugin 2 3import "fmt" 4 5type errNotFound string 6 7func (name errNotFound) Error() string { 8 return fmt.Sprintf("plugin %q not found", string(name)) 9} 10 11func (errNotFound) NotFound() {} 12 13type errAmbiguous string 14 15func (name errAmbiguous) Error() string { 16 return fmt.Sprintf("multiple plugins found for %q", string(name)) 17} 18 19func (name errAmbiguous) InvalidParameter() {} 20 21type errDisabled string 22 23func (name errDisabled) Error() string { 24 return fmt.Sprintf("plugin %s found but disabled", string(name)) 25} 26 27func (name errDisabled) Conflict() {} 28 29type validationError struct { 30 cause error 31} 32 33func (e validationError) Error() string { 34 return e.cause.Error() 35} 36 37func (validationError) Conflict() {} 38 39func (e validationError) Cause() error { 40 return e.cause 41} 42 43type systemError struct { 44 cause error 45} 46 47func (e systemError) Error() string { 48 return e.cause.Error() 49} 50 51func (systemError) SystemError() {} 52 53func (e systemError) Cause() error { 54 return e.cause 55} 56 57type invalidFilter struct { 58 filter string 59 value []string 60} 61 62func (e invalidFilter) Error() string { 63 msg := "Invalid filter '" + e.filter 64 if len(e.value) > 0 { 65 msg += fmt.Sprintf("=%s", e.value) 66 } 67 return msg + "'" 68} 69 70func (invalidFilter) InvalidParameter() {} 71 72type inUseError string 73 74func (e inUseError) Error() string { 75 return "plugin " + string(e) + " is in use" 76} 77 78func (inUseError) Conflict() {} 79 80type enabledError string 81 82func (e enabledError) Error() string { 83 return "plugin " + string(e) + " is enabled" 84} 85 86func (enabledError) Conflict() {} 87 88type alreadyExistsError string 89 90func (e alreadyExistsError) Error() string { 91 return "plugin " + string(e) + " already exists" 92} 93 94func (alreadyExistsError) Conflict() {} 95