Not sure we support the generics use case for mixins at the moment.
(Certainly you can do it with code style ITDs). For a mixin you'd perhaps
want to ensure it shared a type variable with the target, maybe

 public <T> BaseService baseServiceMixin() {
    return new BaseServiceImpl<T>();
 }

And then the infrastructure would do the necessary wiring, but that is just
with me thinking about it for a few seconds.

cheers,
Andy


On 6 October 2014 08:51, Eric B <ebenza...@gmail.com> wrote:

> Hi,
>
> I've got the following base class that I would like to change to a Mixin
> aspect instead.
>
> abstract public class BaseServiceImpl<T> implements BaseService<T> {
>
>     abstract protected BaseRepository<T> getRepo();
>
>     public void save(T entity) {
>
>         getRepo().save(entity);
>
>     }
>
>     public List<T> findAll() {
>
>         return getRepo().getAll();
>
>     }
>
>     public T findById(String id) {
>
>         return getRepo().get(id);
>
>     }
>
>     public void deleteEntity(T entity) {
>
>         getRepo().remove(entity);
>
>     }
>
> }
>
>
> But given the fact that it uses a generic, I'm not quite sure how to
> declare my mixin.  I'm looking to do this for a general case for all
> classes in a particular path where each 'T'ype is different, so am not sure
> how to write the declaration
>
>
>     @DeclareMixin("com.ia.server.*Impl")
>
>     public BaseService baseServiceMixin(){
>
>         return new BaseServiceImpl<???? what goes here ????>();
>
>    }
>
>
> At the moment, this is an abstract class as I need the child class to
> determine the BaseRepo<T>, but is there a way of getting this info from the
> child class itself?  Or at the very least, have it @Inject'ed?
>
>
> Thanks,
>
> Eric
>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@eclipse.org
> To change your delivery options, retrieve your password, or unsubscribe
> from this list, visit
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
_______________________________________________
aspectj-users mailing list
aspectj-users@eclipse.org
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Reply via email to