Skip to content
Snippets Groups Projects
  • Alexander Diewald's avatar
    e11234f6
    DI: Add decoder plugin mechanism. · e11234f6
    Alexander Diewald authored
    
    * Update Guice to a self-compile version that allows overriding
      @Provides methods.
    * Create an "@PluginDecoder" annotation along with a MethodInterceptor
      that intercepts such annotated decode methods. It launches all decode
      methods that provide the same phenotype prior to executing itself
      (sub-decoding). These sub-decoders are providing updates to the
      phenotype before the actual decoding is executed.
      NOTE: Sub-decoder methods must be annotated with the "@Named("XYZ")"
      key where XYZ is the class name of the decoder. This is required to
      avoid @Provides methods that would return the same type.
    * Re-create the DecoderModules by the Guice Injector before passing them
      to the GuiceDecoder such that Method Interceptors can be installed
      before the GuiceDecoder is instantiated.
    * Correct the integration of the PlatformCommunicationGraphEncoding.
    * Add more required @Provides Methods to the SystemModelAdapter.
    
    Signed-off-by: default avatarAlexander Diewald <diewald@fortiss.org>
    e11234f6
    History
    DI: Add decoder plugin mechanism.
    Alexander Diewald authored
    
    * Update Guice to a self-compile version that allows overriding
      @Provides methods.
    * Create an "@PluginDecoder" annotation along with a MethodInterceptor
      that intercepts such annotated decode methods. It launches all decode
      methods that provide the same phenotype prior to executing itself
      (sub-decoding). These sub-decoders are providing updates to the
      phenotype before the actual decoding is executed.
      NOTE: Sub-decoder methods must be annotated with the "@Named("XYZ")"
      key where XYZ is the class name of the decoder. This is required to
      avoid @Provides methods that would return the same type.
    * Re-create the DecoderModules by the Guice Injector before passing them
      to the GuiceDecoder such that Method Interceptors can be installed
      before the GuiceDecoder is instantiated.
    * Correct the integration of the PlatformCommunicationGraphEncoding.
    * Add more required @Provides Methods to the SystemModelAdapter.
    
    Signed-off-by: default avatarAlexander Diewald <diewald@fortiss.org>