On Dec 12, 2006, at 5:32 AM, anita kulshreshtha wrote:

 Thanks Gianny, David J and Dain for providing feedback. I could have
certainly used it before commiting rev 485321. IIUC, here is what needs
to be done:
1. Revert rev 485321. Make the necessary code changes to
GBeanInfoBuilder while keeping the signatures of addOpeartion methods
same.
2. GoperationInfo must contain a field named targetClass
(declaringClass?). There are 2 options:
   a.. Just add the field and maintain backward compatibility
   b.. Clean the code, i.e. remove unused field methodName and break
the compatibility.

Which backward compatibility API, serialization or both?

I prefer we don't break backwards compatibility in the GBean apis since they are used everywhere.

     I am leaning towards b.
3. The fact that in some cases GBeanInfoBuilder.addInterfaces() Line
295 ends up with two methods with same name and signatures but
different return type, it is not by design. Most of the time it is due
to a badly overridden getter/setter/operation, and it is not the
responsibility of GBeanInfoBuilder to flag that as an error.

In Java5 a method is allowed to override/implement a method with a return type that is more specific. For example:

public interface Intf {
  Object getSomething();
}

public class Clazz implements Intf {
  public String getSomething() {
      return "something"
  }
}

-dain


Reply via email to