All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.lsn.java.common.camelcase.CamelCaseRequestWrapper Maven / Gradle / Ivy

package io.lsn.java.common.camelcase;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
import java.util.Collections;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;

/**
 * additional wrapper for a request to add camelize parameters
 *
 * @author Patryk Szlagowski
 */
public class CamelCaseRequestWrapper extends HttpServletRequestWrapper {

    private Map additionalParameters = new HashMap<>();

    public CamelCaseRequestWrapper(HttpServletRequest request) {
        super(request);
    }

    public void addParameter(Object key, Object value) {
        this.additionalParameters.put(key, value);
    }

    @Override
    public String getParameter(String name) {
        return (String) getVirtualParams().get(name);
    }

    @Override
    public Map getParameterMap() {
        return getVirtualParams();
    }

    @Override
    public Enumeration getParameterNames() {
        return Collections.enumeration(getVirtualParams().keySet());
    }

    @Override
    public String[] getParameterValues(String name) {
        return (String[]) getVirtualParams().get(name);
    }

    private Map getVirtualParams() {
        Map virtualParams = new HashMap<>();
        virtualParams.putAll(additionalParameters);
        virtualParams.putAll(super.getParameterMap());
        return virtualParams;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy