package org.richfaces.validator;
import java.util.Map;
import javax.faces.application.FacesMessage;
import org.richfaces.javascript.Message;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Maps;
public class BaseFacesObjectDescriptor<T> {
private final Class<? extends T> converterClass;
private Map<String, Object> parameters = Maps.newHashMap();
private final Message message;
public BaseFacesObjectDescriptor(Class<? extends T> converterClass, FacesMessage message) {
this.converterClass = converterClass;
this.message = new Message(message);
}
public Class<?> getImplementationClass() {
return converterClass;
}
public Map<String, ? extends Object> getAdditionalParameters() {
return parameters;
}
public Message getMessage() {
return message;
}
protected void addParameter(String name, Object value) {
parameters.put(name, value);
}
protected void makeImmutable() {
parameters = ImmutableMap.copyOf(parameters);
}
}