| package container |
| |
| // StoreFilter defines a function to filter |
| // container in the store. |
| type StoreFilter func(*Container) bool |
| |
| // StoreReducer defines a function to |
| // manipulate containers in the store |
| type StoreReducer func(*Container) |
| |
| // Store defines an interface that |
| // any container store must implement. |
| type Store interface { |
| // Add appends a new container to the store. |
| Add(string, *Container) |
| // Get returns a container from the store by the identifier it was stored with. |
| Get(string) *Container |
| // Delete removes a container from the store by the identifier it was stored with. |
| Delete(string) |
| // List returns a list of containers from the store. |
| List() []*Container |
| // Size returns the number of containers in the store. |
| Size() int |
| // First returns the first container found in the store by a given filter. |
| First(StoreFilter) *Container |
| // ApplyAll calls the reducer function with every container in the store. |
| ApplyAll(StoreReducer) |
| } |