A note on changing interfaces, this interface
org.apache.commons.httpclient.ConnectionInterceptor
has the following code:

    /**
     * Received response.
     * @deprecated Use {@link #receivedResponse}
     */
    public void recievedResponse();

    /**
     * Received response.
     */
    public void receivedResponse();

This deprication is not very usefull, all implementing classes still
have to change or you get errors like this:

jakarta-slide\src\webdav\client\src\org\apache\webdav\lib\WebdavResource.java:205:
org.apache.webdav.lib.WebdavResource should be declared abstract; it
does not define receivedResponse() in
org.apache.webdav.lib.WebdavSession
public class WebdavResource extends WebdavSession {

public abstract class WebdavSession implements ConnectionInterceptor

If you break source code compatibility by changing an interface, do all
the changes at the same time and remove the old function. And be
carefull about changes like this, now I got a compilation error but it
could be worse.
If there was a default implementation for "receivedResponse" that
default one would have been used and not the custom "recievedResponse".
Finding these kind of errors can be very challenging...


Dirk

Reply via email to