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 =
