I was doing some work on a custom interceptor that was working with the 
HttpParameters class.  At first glance, it appears that it is supposed to be 
immutable based on some of the exceptions thrown for implementations of Map 
methods, for example:

   @Override
    public Parameter put(String key, Parameter value) {
        throw new IllegalAccessError("HttpParameters are immutable, you cannot 
put value directly!");
    }

    @Override
    public Parameter remove(Object key) {
        throw new IllegalAccessError("HttpParameters are immutable, you cannot 
remove object directly!");
    }


But then this method is there:

    public HttpParameters remove(Set<String> paramsToRemove) {
       for (String paramName : paramsToRemove) {
            parameters.remove(paramName);
        }
        return this;
    }

Which is removing the parameter from the object, I would have expected that 
this return a modified copy?

Just wondering the intentions of the class, and if this should be logged as a 
bug?

Paul



Disclaimer: This communication and any files transmitted with it may contain 
information that is privileged, confidential and/or exempt from disclosure 
under applicable law. If you are not the intended recipient, you are hereby 
notified that any disclosure, copying, distribution, or use of the information 
contained herein (including any reliance thereon) is strictly prohibited. If 
you received this communication in error, please immediately contact the sender 
and destroy the material in its entirety, whether in electronic or hard copy 
format. Thank you.

Reply via email to