Dont see this to work with AOP on the LegacyInterface or do I overlook
something.

Better might be the use of a legacy service and provide an extended service
using refelction to access the legacy service implementation (subclass).
Would also make it clear and nice.


2013/10/16 Lance Java <lance.j...@googlemail.com>

> Here's a workaround
>
> public interface LegacyService {
>                 void method1();
> }
>
> public class LegacyServiceImpl implements LegacyService {
>                 public void method1() { ... }
>                 public void method2() { ... }
> }
>
> public interface ExtendedService {
>                 void method2();
> }
>
> public interface Hack {
>                 public LegacyService getLegacyService();
>                 public ExtendedService getExtendedService();
> }
>
> AppModule
> ---------
> public Hack buildHack(@Autobuild LegacyServiceImpl impl) {
>                 return new Hack() {
>                                 public LegacyService getLegacyService() {
> return impl; }
>
>                                 public ExtendedService getExtendedService()
> {
>                                                 return new
> ExtendedService()
> {                                                               public void
> method2()
> {
> return impl.method2();
>                                                                 }
>                                                 };
>                                 };
>                 };
> }
>
> public LegacyService buildLegacyService(Hack hack) {
>                 return hack.getLegacyService();
> }
>
> public ExtendedService buildExtendedService(Hack hack) {
>                 return hack.getExtendedService();
> }
>
>
>
> Component
> ---------
> @Inject
> private LegacyService legacyService;
>
> @Inject
> private ExtendedService extendedService;
>

Reply via email to