package org.korsakow.domain.command;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;
import org.korsakow.domain.interf.IResource;
public class Response implements Helper
{
public static final String MODIFIED_RESOURCES = "_MODIFIED_RESOURCES";
private final HashMap<String, Object> values = new HashMap<String, Object>();
public Set<String> getKeys() {
return values.keySet();
}
public boolean has(String key) {
return values.containsKey(key);
}
public Boolean getBoolean(String name) {
return (Boolean)values.get(name);
}
public Double getDouble(String name) {
return (Double)values.get(name);
}
public Float getFloat(String name) {
return (Float)values.get(name);
}
public Integer getInt(String name) throws NumberFormatException {
return (Integer)values.get(name);
}
public Long getLong(String name) throws NumberFormatException {
return (Long)values.get(name);
}
public String getString(String name) {
return (String)values.get(name);
}
public <T> Collection<T> getCollection(String name, Class<T> clazz) {
return (Collection<T>)get(name);
}
public void set(String name, Object value) {
values.put(name, value);
}
public Object get(String name) {
return values.get(name);
}
@SuppressWarnings("unchecked")
public void addModifiedResource(IResource resource) {
if (!values.containsKey(MODIFIED_RESOURCES))
values.put(MODIFIED_RESOURCES, new HashSet<IResource>());
((Set<IResource>)values.get(MODIFIED_RESOURCES)).add(resource);
}
public Collection<IResource> getModifiedResources() {
if (!values.containsKey(MODIFIED_RESOURCES))
values.put(MODIFIED_RESOURCES, new HashSet<IResource>());
return ((Set<IResource>)values.get(MODIFIED_RESOURCES));
}
}