directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Emmanuel Lécharny <elecha...@gmail.com>
Subject Re: [Fortress] Pb with fortress-web
Date Fri, 14 Nov 2014 11:08:59 GMT
One solution would be to encapsulate the List<Blah> into a Serializable
class.

That would solve all the issues we have in many classes.


Le 14/11/14 12:05, Emmanuel Lécharny a écrit :
> Hi !
>
> I just loaded fortress-web in my favorite IDE, and I have many
> compilation errors. One of them :
>
> "The method setObject(Object) of type AuditAuthzListModel<T> must
> override or implement a supertype method"
>
> on
>
>     @Override
>     public void setObject(Object object)
>     {
>         log.debug(".setObject count: " + object != null ?
> ((List<AuthZ>)object).size() : "null");
>         this.authZs = (List<AuthZ>) object;
>     }
>
> When you build this code, it will compile with no error. Except that...
>
>
> public class AuditAuthzListModel<T extends Serializable> extends Model
>
>
> with
>
> public class Model<T extends Serializable> implements IModel<T>
>
>
> and :
>
> public interface IModel<T> extends IDetachable
> {
>     void setObject(final T object);
> }
>
>
> The problem is that we are using two different kind of types here : a
> generic one (T) and a real one (Object). It does not fit.
>
> At this point, I wonder why is the main class is generic at all ?
>
> What about having  :
>
> public class AuditAuthzListModel extends Model<List<AuthZ>>
>
> Sadly, this can't be done, because List<AuthZ> is not extending
> serializable...
>
> So it's clear we are mixing concepts here that don't fit well all
> together. I'm quite sure that the class declaration :
>
> public class Model<T extends Serializable> implements IModel (note the
> missing <T> after IModel)
>
> and the setObject(Object) declaration are just the way they are to get
> rid of the pb with the Model<List<AuthZ>> declaration...
>
>
> Generics are a PITA...
>
>


Mime
View raw message