Skip to content
Snippets Groups Projects
Commit e11234f6 authored by Alexander Diewald's avatar Alexander Diewald
Browse files

DI: Add decoder plugin mechanism.


* 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>
parent fdd0872a
No related branches found
No related tags found
1 merge request!2Dependency injection
Showing
with 92 additions and 121 deletions
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment