| ![]() | ![]() | ![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ![]() | 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.
All those situations may be avoided, by using a dedicated pattern. The "Graph Buster" pattern The buisness classes above should be translated in implementation classes as follows :
XxxNode class. There is no risk then to get the whole
serialized Model when requesting one single Xxx object.
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 :
| ![]() |