/* Copyright (c) 2001 - 2007 TOPP - www.openplans.org. All rights reserved.
* This code is licensed under the GPL 2.0 license, available at the root
* application directory.
*/
/**
*
*/
package org.geoserver.web.data.store;
import java.io.Serializable;
import org.geotools.data.DataAccessFactory.Param;
/**
* A serializable view of a {@link Param}
*
* @author Gabriel Roldan
*/
class ParamInfo implements Serializable {
private static final long serialVersionUID = 886996604911751174L;
private final String name;
private final String title;
private boolean password;
private Class<?> binding;
private boolean required;
private Serializable value;
public ParamInfo(Param param) {
this.name = param.key;
this.title = param.title == null ? null : param.title.toString();
this.password = param.isPassword();
if (Serializable.class.isAssignableFrom(param.type)) {
this.binding = param.type;
this.value = (Serializable) param.sample;
} else {
// handle the parameter as a string and let the DataStoreFactory
// convert it to the appropriate type
this.binding = String.class;
this.value = param.sample == null ? null : String.valueOf(param.sample);
}
this.required = param.required;
}
public Serializable getValue() {
return value;
}
public void setValue(Serializable value) {
this.value = value;
}
public String getName() {
return name;
}
public String getTitle() {
return title;
}
public boolean isPassword() {
return password;
}
public Class<?> getBinding() {
return binding;
}
public boolean isRequired() {
return required;
}
}