Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Olingo Wiki" for change 
notification.

The "Documentation/ProcessorInterfaces" page has been changed by MichaelBolz:
https://wiki.apache.org/Olingo/Documentation/ProcessorInterfaces?action=diff&rev1=3&rev2=4

- = General idea =
+ = General concept =
  
- Leading idea behind the processor interfaces is the ReturnType.
- ...
+ Leading concept behind the processor interfaces is the ReturnType which is 
handled by the OData request.
+ As an example a request to the URL ../service/EntityCollection would be 
handled by the EntityCollectionProcessor and a request to 
../service/EntityCollection(myKeyValue) would be handled by the EntityProcessor.
  
+ According to this concept for each ReturnType exists (at least) an own 
*Processor interface with the according method for each (defined by 
OData-Specification) possible HTTP requests (see chapter: Mapping HTTP Request 
-> Processor Method).
+ 
+ An exception to this are the MediaEntityProcessor and PrimitiveValueProcessor 
which extends other base interfaces (EntityProcessor <- MediaEntityProcessor 
and PrimitiveValueProcessor <- PrimitiveValueProcessor). Both cases are based 
on the fact that the base and the extended interface are only different in one 
(or two) method and this method is an extension to the base interface 
functionality. So that a MediaEntityProcessor must implement all methods of the 
EntityProcessor to support the base entity functions as well as its own 
extension method to support the media functionality.
+ According to above exception are the Action*Processor interfaces which 
extends their according processor based on the ReturnType of the action (e.g. 
an ActionEntityProcessor extends the EntityProcessor). With this decision it is 
possible to implement ActionImports support independent to base e.g. Entity 
support. 
+ 
+ A further exception are the three Count*CollectionProcessor interfaces. Based 
on the concept of ReturnTypes all processor interfaces delivers just the count 
as a number. However for an implementation it could be from interest which type 
of collection has to be counted (e.g. Entity, Primitive, Complex) hence for 
each OData-EntityCollection exists an own interface.
+ 
+ For the general mapping of HTTP request to according interface method exists 
exceptions for ErrorProcessor, BatchProcessor and all Action*Processor 
interfaces. Those interfaces all have a processXX(…) method which handles the 
according request. 
  
  = Processor Interfaces =
  

Reply via email to