Creates a new resource in the container.
Deletes a resource.
Retrieves a representation of a resource.
Sets or updates the representation of a resource, creating a new resource and intermediary containers as needed.
Check if a resource exists.
Sets or replaces the representation of a resource, creating a new resource and intermediary containers as needed.
A ResourceStore represents a collection of resources. It has been designed such that each of its methods can be implemented in an atomic way: for each CRUD operation, only one dedicated method needs to be called. A fifth method enables the optimization of partial updates with PATCH. It is up to the implementer of the interface to (not) make an implementation atomic.
ResourceStores are also responsible for taking auxiliary resources into account should those be relevant to the store.