The simpleFetch mixin is designed to serve as a set of function(s) that can
be mixed into other datastore implementations to accelerate their development.
The simpleFetch mixin should work well for any datastore that can respond to a _fetchItems()
call by returning an array of all the found items that matched the query. The simpleFetch mixin
is not designed to work for datastores that respond to a fetch() call by incrementally
loading items, or sequentially loading partial batches of the result
set. For datastores that mixin simpleFetch, simpleFetch
implements a fetch method that automatically handles eight of the fetch()
arguments -- onBegin, onItem, onComplete, onError, start, count, sort and scope
The class mixing in simpleFetch should not implement fetch(),
but should instead implement a _fetchItems() method. The _fetchItems()
method takes three arguments, the keywordArgs object that was passed
to fetch(), a callback function to be called when the result array is
available, and an error callback to be called if something goes wrong.
The _fetchItems() method should ignore any keywordArgs parameters for
start, count, onBegin, onItem, onComplete, onError, sort, and scope.
The _fetchItems() method needs to correctly handle any other keywordArgs
parameters, including the query parameter and any optional parameters
(such as includeChildren). The _fetchItems() method should create an array of
result items and pass it to the fetchHandler along with the original request object
-- or, the _fetchItems() method may, if it wants to, create an new request object
with other specifics about the request that are specific to the datastore and pass
that as the request object to the handler.
For more information on this specific function, see dojo.data.api.Read.fetch()