Dear Wiki user, You have subscribed to a wiki page or wiki category on "Olingo Wiki" for change notification.
The "Documentation/AnnotationProcessor" page has been changed by MichaelBolz: https://wiki.apache.org/Olingo/Documentation/AnnotationProcessor?action=diff&rev1=1&rev2=2 * {{{String summary() default "";}}}: Define a summary for this documentation. * {{{String longDescription() default "";}}}: Complete description for this documentation. + + == Class diagram for Data Access == + For a simplified data access we provide a {{{ListsProcessor}}} (an extension of the {{{ODataSingleProcessor}}}) which uses a {{{ListsDataSource}}} for data persistence and {{{ValueAccess}}} for access of the properties of the data objects. + + An architecture architecture overview is shown [here|^ArchitectureOverview.svg] and below: + !ArchitectureOverview.png|align=left,thumbnail,border=1! + + An overview about involved classes is shown in this [class diagram|^ClassDiagram.svg]. + + In addition to the here shown Java code more documentation can be found in the [Javadoc of "odata2-api-annotation"|^api-annotation-apidocs.zip] and [Javadoc of "odata2-annotation-processor-api"|^annotation-proc-api-apidocs.zip]. + + == Entry points for Annotation Service == + + === Via AnnotationServiceFactory === + The common entry point for creation of an annotation based {{{ODataService}}} is via the {{{AnnotationServiceFactory}}} in {{{org.apache.olingo.odata2.annotation.processor.api}}} package in {{{annotation-processor-api}}} module. + Therefore the {{{AnnotationServiceFactory}}} provides the methods {{{ODataService createAnnotationService(String modelPackage)}}} and {{{ODataService createAnnotationService(Collection<Class<?>> annotatedClasses)}}}. + + The {{{createAnnotationService(String modelPackage)}}} scan the given package for annotated classes (e.g. "org.apache.olingo.sample.model") and the {{{createAnnotationService(Collection<Class<?>> annotatedClasses)}}} scan classes in given collection for annotations. + + For creation of the service instance the {{{AnnotationServiceFactory}}} create an instance of {{{org.apache.olingo.odata2.annotation.processor.core.AnnotationServiceFactoryImpl}}} (via the RuntimeDelegate pattern). A code snippet of the implementation can be found below in section ''ODataServiceFactory''. +
