Hi,

now that I cleaned up the controls, I started doing the same thing for
extended requests, and I was annoyed by the verbosity of construction like :

public interface ExtendedOperationFactory<Q extends ExtendedRequest<P>,
P extends ExtendedResponse>

At this point, I focused on the need of adding a generic to the
ExtendedRequest : there is none. In fact, it all boils down to the
inherited class :

public interface ResultResponseRequest<R extends ResultResponse> extends
Request

Now, you have to propagate the response in all the classes implementing
Request (add, bind...)

This is extremelly heavy, and serves only ne single purpose : avoid a
couple of cast when returning the SearchResultDone.

I have removed all those heavy generics to make the code lighter, it
took me a couple of hours, and the tests just ran perfectly well : a no
brainer.

Next step : continue to work out the Extended classes.

Note : this should have no impact on our API users : the generics are
internal to the API.

-- 
Regards,
Cordialement,
Emmanuel Lécharny
www.iktek.com 

Reply via email to