TimestampValueTagpublic class TimestampValueTag extends ValueTag This class is a custom action intended to be used in the body of
a sqlQuery or an sqlUpdate action element. It adds the specified
value to its parent's value list. |
Fields Summary |
---|
private Timestamp | value |
Methods Summary |
---|
public int | doEndTag()Gets the value, specified by the value attribute, the stringValue
attribute, the param attribute, or the name and property attributes,
and adds it to the parent's value list. If the value is a String
and a pattern attribute is specified, the String is converted
into the appropriate type before being added to the parent's
value list.
if (stringValue != null) {
value = toTimestamp(stringValue, pattern);
}
else if (param != null) {
String paramValue = getParameter(param);
value = toTimestamp(paramValue, pattern);
}
else if (name != null) {
value = getTimestamp(name, property, pattern);
}
ValueTagParent parent =
(ValueTagParent) findAncestorWithClass(this, ValueTagParent.class);
if (parent == null) {
throw new JspException("The sqlTimestampValue action is not " +
"enclosed by a supported action type");
}
parent.addValue(new TimestampValue(value));
return EVAL_PAGE;
| private java.sql.Timestamp | getTimestamp(java.lang.String beanName, java.lang.String propertyName, java.lang.String pattern)
Timestamp timestampValue = null;
Object bean = getBean(beanName);
Method readMethod = getPropertyReadMethod(bean, propertyName);
Class returnType = readMethod.getReturnType();
Object value = getValue(bean, readMethod, propertyName);
if (Timestamp.class.isAssignableFrom(returnType)) {
timestampValue = (Timestamp) value;
}
else if (String.class.isAssignableFrom(returnType)) {
timestampValue = toTimestamp((String) value, pattern);
}
else {
throw new JspException("Read method for the " + propertyName +
" property in the bean named " + beanName + " is not of type " +
" String or Timestamp");
}
return timestampValue;
| public void | release()Releases all instance variables.
value = null;
super.release();
| public void | setValue(java.util.Date value)Sets the value property.
// Convert the java.util.Date to a java.sql.Timestamp
this.value = new Timestamp(value.getTime());
| private java.sql.Timestamp | toTimestamp(java.lang.String stringValue, java.lang.String pattern)
Timestamp timestampValue = null;
try {
java.util.Date date = StringFormat.toDate(stringValue, pattern);
timestampValue = new Timestamp(date.getTime());
}
catch (ParseException e) {
throw new JspException(stringValue + " can not be converted to " +
" a BigDecimal using pattern: " + pattern + ". Message: " +
e.getMessage());
}
return timestampValue;
|
|