|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface DsRequestEquivalence
Various subsystems have a need to compare DataSource requests and understand if they are equivalent or affect the same
data (examples include automatic cache synchronization
and offline caching and synchronization
).
Aside from basic
properties that would clearly make two DSRequests non-equivalent (dataSource, operationType and data, as well as sortBy,
startRow, endRow and textMatchStyle for a "fetch"), operationId
is the only property that will cause two DSRequests to be considered distinct (non-equivalent) requests.
Bearing this in mind, the best practice is:
data
. Do not "smuggle" data that
will ultimately be used as criteria or values in other dsRequest properties, such as HTTP parameters
. operationId
as the sole piece of information in the request that
modifies how the request as a whole is executed. If two or more pieces of information are required, combine or encode
them into a single operationId String. If this becomes awkward because there are many operation variants, consider
including additional fields in data
instead.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |