package au.com.vaadinutils.jasper.parameter;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import au.com.vaadinutils.jasper.scheduler.entities.DateParameterType;
import com.vaadin.data.Validator;
import com.vaadin.ui.Component;
import com.vaadin.ui.TextField;
public class ReportParameterString extends ReportParameter<String>
{
Logger logger = LogManager.getLogger();
protected TextField field;
public ReportParameterString(String caption, String parameterName)
{
super( caption,parameterName);
field = new TextField();
field.setCaption(caption);
}
@Override
public String getValue(String parameterName)
{
return field.getValue();
}
@Override
public Component getComponent()
{
return field;
}
@Override
public boolean shouldExpand()
{
return false;
}
@Override
public void setDefaultValue(String defaultValue)
{
field.setValue(defaultValue);
}
@Override
public String getExpectedParameterClassName()
{
return String.class.getCanonicalName();
}
@Override
public String getDisplayValue(String parameterName)
{
return getValue(null);
}
@Override
public boolean validate()
{
return super.validateField(field);
}
public ReportParameter<?> setNotEmpty()
{
Validator validator = new Validator(){
/**
*
*/
private static final long serialVersionUID = 8942263638713110223L;
@Override
public void validate(Object value) throws InvalidValueException
{
logger.info(value);
}};
field.addValidator(validator);
return this;
}
@Override
public void setValueAsString(String value, String parameterName)
{
field.setValue(value);
}
@Override
public boolean isDateField()
{
return false;
}
@Override
public DateParameterType getDateParameterType()
{
throw new RuntimeException("Not implemented");
}
}