com.sun.faces.mock.MockRequestMap Maven / Gradle / Ivy
The newest version!
/*
* $Id: MockRequestMap.java,v 1.1 2005/10/18 17:48:02 edburns Exp $
*/
/*
* The contents of this file are subject to the terms
* of the Common Development and Distribution License
* (the License). You may not use this file except in
* compliance with the License.
*
* You can obtain a copy of the License at
* https://javaserverfaces.dev.java.net/CDDL.html or
* legal/CDDLv1.0.txt.
* See the License for the specific language governing
* permission and limitations under the License.
*
* When distributing Covered Code, include this CDDL
* Header Notice in each file and include the License file
* at legal/CDDLv1.0.txt.
* If applicable, add the following below the CDDL Header,
* with the fields enclosed by brackets [] replaced by
* your own identifying information:
* "Portions Copyrighted [year] [name of copyright owner]"
*
* [Name of File] [ver.__] [Date]
*
* Copyright 2005 Sun Microsystems Inc. All Rights Reserved
*/
package com.sun.faces.mock;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Enumeration;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.servlet.ServletRequest;
final class MockRequestMap implements Map {
public MockRequestMap(ServletRequest request) {
this.request = request;
}
private ServletRequest request = null;
public void clear() {
Iterator keys = keySet().iterator();
while (keys.hasNext()) {
request.removeAttribute((String) keys.next());
}
}
public boolean containsKey(Object key) {
return (request.getAttribute(key(key)) != null);
}
public boolean containsValue(Object value) {
if (value == null) {
return (false);
}
Enumeration keys = request.getAttributeNames();
while (keys.hasMoreElements()) {
Object next = request.getAttribute((String) keys.nextElement());
if (next == value) {
return (true);
}
}
return (false);
}
public Set entrySet() {
Set set = new HashSet();
Enumeration keys = request.getAttributeNames();
while (keys.hasMoreElements()) {
set.add(request.getAttribute((String) keys.nextElement()));
}
return (set);
}
public boolean equals(Object o) {
return (request.equals(o));
}
public Object get(Object key) {
return (request.getAttribute(key(key)));
}
public int hashCode() {
return (request.hashCode());
}
public boolean isEmpty() {
return (size() < 1);
}
public Set keySet() {
Set set = new HashSet();
Enumeration keys = request.getAttributeNames();
while (keys.hasMoreElements()) {
set.add(keys.nextElement());
}
return (set);
}
public Object put(Object key, Object value) {
if (value == null) {
return (remove(key));
}
String skey = key(key);
Object previous = request.getAttribute(skey);
request.setAttribute(skey, value);
return (previous);
}
public void putAll(Map map) {
Iterator keys = map.keySet().iterator();
while (keys.hasNext()) {
String key = (String) keys.next();
request.setAttribute(key, map.get(key));
}
}
public Object remove(Object key) {
String skey = key(key);
Object previous = request.getAttribute(skey);
request.removeAttribute(skey);
return (previous);
}
public int size() {
int n = 0;
Enumeration keys = request.getAttributeNames();
while (keys.hasMoreElements()) {
keys.nextElement();
n++;
}
return (n);
}
public Collection values() {
List list = new ArrayList();
Enumeration keys = request.getAttributeNames();
while (keys.hasMoreElements()) {
list.add(request.getAttribute((String) keys.nextElement()));
}
return (list);
}
private String key(Object key) {
if (key == null) {
throw new IllegalArgumentException();
} else if (key instanceof String) {
return ((String) key);
} else {
return (key.toString());
}
}
}