It allows the caller to specify which members to bind to. Without the
type argument, bind() would need to walk up the type hierarchy and
attempt to bind to each superclass of the calling class as well as the
class itself. In fact, it used to work that way, and at the moment I
can't remember why we changed it. The single-arg signature does seem
more intuitive.
On Nov 3, 2009, at 4:17 PM, Christopher Brind wrote:
Hi,
Just wondering what the logic is behind having two arguments for the
bind method on the WTKXSerializer?
Instead of:
public <T> void bind(T t, Class<? super T> type) throws
BindException {
Field[] fields = type.getDeclaredFields();
Why not:
public <T> void bind(T t) throws BindException {
Field[] fields = t.getClass().getDeclaredFields();
In fact, why is this parameterised at all? Wouldn't this suffice?
public void bind(Object t) throws BindException {
Field[] fields = t.getClass().getDeclaredFields();
Cheers,
Chris