Mercurial > dive4elements > gnv-client
view geo-backend/src/main/java/de/intevation/gnv/geobackend/base/DefaultResult.java @ 1120:d387a97807a3
Added an INFO log statement displaying the execution time of a database query.
geo-backend/trunk@1137 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Mon, 31 May 2010 07:23:21 +0000 |
parents | e5e30090c37c |
children | ebeb56428409 |
line wrap: on
line source
package de.intevation.gnv.geobackend.base; import java.util.Date; import java.util.GregorianCalendar; import de.intevation.gnv.geobackend.util.DateUtils; /** * Defaultimplementation of the Interface Result. * This Class stores the Attributevalues of one Result. * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a> * */ public class DefaultResult implements Result { /** * THE UID of this Classe */ private static final long serialVersionUID = -6886218808840982766L; /** * Array which stores the Columnvalues */ private Object [] values; /** * The ResultDescriptor which describes the ColumnValues */ private ResultDescriptor resultDescriptor = null; /** * Constructor */ public DefaultResult(ResultDescriptor resultDescriptor) { this.resultDescriptor = resultDescriptor; values = new Object[resultDescriptor.getColumnCount()]; } /** * @see de.intevation.gnv.geobackend.base.Result#getDate(java.lang.String) */ public Date getDate(String columnName) { return getDate(resultDescriptor.getColumnIndex(columnName)); } /** * @see de.intevation.gnv.geobackend.base.Result#getDate(int) */ public Date getDate(int column) { Object o = values[column]; Date d = null; if(o instanceof Date){ d = (Date)o; }else if (o instanceof GregorianCalendar){ d = ((GregorianCalendar)o).getTime(); } return d; } /** * @see de.intevation.gnv.geobackend.base.Result#getDouble(java.lang.String) */ public Double getDouble(String columnName) { return getDouble(resultDescriptor.getColumnIndex(columnName)); } /** * @see de.intevation.gnv.geobackend.base.Result#getDouble(int) */ public Double getDouble(int column) { return (Double)values[column]; } /** * @see de.intevation.gnv.geobackend.base.Result#getFloat(java.lang.String) */ public Float getFloat(String columnName) { return getFloat(resultDescriptor.getColumnIndex(columnName)); } /** * @see de.intevation.gnv.geobackend.base.Result#getFloat(int) */ public Float getFloat(int column) { return (Float)values[column]; } /** * @see de.intevation.gnv.geobackend.base.Result#getInteger(java.lang.String) */ public Integer getInteger(String columnName) { int idx = resultDescriptor.getColumnIndex(columnName); return idx > -1 ? getInteger(idx) : -1; } /** * @see de.intevation.gnv.geobackend.base.Result#getInteger(int) */ public Integer getInteger(int column) { Object value = values[column]; if (value instanceof Double){ value = new Integer(((Double)value).intValue()); } return (Integer)value; } /** * @see de.intevation.gnv.geobackend.base.Result#getResultDescriptor() */ public ResultDescriptor getResultDescriptor() { return this.resultDescriptor; } /** * @see de.intevation.gnv.geobackend.base.Result#getString(java.lang.String) */ public String getString(String columnName) { int idx = resultDescriptor.getColumnIndex(columnName); return idx > -1 ? getString(idx) : null; } /** * @see de.intevation.gnv.geobackend.base.Result#getString(int) */ public String getString(int column) { Object o = values[column]; if (o instanceof Date){ return DateUtils.getPatternedDateAmer((Date)o); } if (o instanceof GregorianCalendar){ Date d = ((GregorianCalendar)o).getTime(); return DateUtils.getPatternedDateAmer(d); } return o != null ? o.toString() : null; } /** * @see de.intevation.gnv.geobackend.base.Result#addColumnValue(int, java.lang.Object) */ public void addColumnValue(int column, Object value) { values[column] = value; } /** * @see de.intevation.gnv.geobackend.base.Result#getObject(java.lang.String) */ public Object getObject(String columnName) { return getObject(resultDescriptor.getColumnIndex(columnName)); } /** * @see de.intevation.gnv.geobackend.base.Result#getObject(int) */ public Object getObject(int column) { return values[column]; } }