| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Insight Operations | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Operation objects
Concrete Operation classes will define their own parameters.
By convention, Operation result is supposed to be returned by a
Operation objects are used for performing all operations on content metamodel. Content itself is accessed through an Operation returning an URL referencing the requested content. Operation classes are the main API part of the Insight subsystem. See Javadoc for more details on them. Buisness Objects as Operation parametersBuisness Objects are intended to be manipulated on the client side, so they are supposed to be passed as normal parameters.
A problem arises with Buisness Objects which are involved in a bi-directional
association.
The buisness classes above should be translated in implementation
classes as follows :
The separation between abstract class (or interface) and concrete class guarantees that instances will be seen as immutable by Operation requesters. Only Operation objects are supposed to create implementation objects. The Graph Buster Pattern allows making a clear difference between data on the server, and the local copy the client receives.
Javadoc for classes illustrating the Graph Buster pattern can be found
on :
|