You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by ha...@apache.org on 2001/12/20 12:08:16 UTC
cvs commit: jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/types BooleanColumn.java SQLType.java
hammant 01/12/20 03:08:16
Modified: apps/db/src/java/org/apache/avalon/db/actions DropIndex.java
DropTable.java DropView.java
apps/db/src/java/org/apache/avalon/db/basic/actions
BasicCreateQueryable.java BasicDropQueryable.java
apps/db/src/java/org/apache/avalon/db/basic/handlers/lxsql
BasicLXSQLCreateViewHandler.java
BasicLXSQLQueryableHandler.java
apps/db/src/java/org/apache/avalon/db/data Column.java
apps/db/src/java/org/apache/avalon/db/data/impl
AbstractColumn.java AbstractDelegatedColumn.java
AbstractQueryable.java
DefaultDelegatedVarcharColumn.java
apps/db/src/java/org/apache/avalon/db/data/types
SQLType.java
Added: apps/db/src/java/org/apache/avalon/db/actions
DropQueryable.java
apps/db/src/java/org/apache/avalon/db/data/impl
DefaultBooleanColumn.java
DefaultDelegatedBooleanColumn.java
DefaultDelegatedNumericColumn.java
DefaultDelegatedTemporalColumn.java
apps/db/src/java/org/apache/avalon/db/data/types
BooleanColumn.java
Removed: apps/db/src/java/org/apache/avalon/db/data/impl
DefaultDelegatedBigintColumn.java
DefaultDelegatedIntegerColumn.java
DefaultDelegatedSmallIntColumn.java
Log:
Added boolean column
Revision Changes Path
1.2 +1 -1 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/actions/DropIndex.java
Index: DropIndex.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/actions/DropIndex.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- DropIndex.java 2001/11/13 17:51:41 1.1
+++ DropIndex.java 2001/12/20 11:08:15 1.2
@@ -15,8 +15,8 @@
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version * $Revision: 1.1 $
+ * @version * $Revision: 1.2 $
*/
-public interface DropIndex extends Drop {
+public interface DropIndex extends DropQueryable {
}
1.2 +1 -1 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/actions/DropTable.java
Index: DropTable.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/actions/DropTable.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- DropTable.java 2001/11/13 17:51:41 1.1
+++ DropTable.java 2001/12/20 11:08:15 1.2
@@ -15,8 +15,8 @@
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version * $Revision: 1.1 $
+ * @version * $Revision: 1.2 $
*/
-public interface DropTable extends Drop {
+public interface DropTable extends DropQueryable {
}
1.2 +1 -1 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/actions/DropView.java
Index: DropView.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/actions/DropView.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- DropView.java 2001/11/13 17:51:41 1.1
+++ DropView.java 2001/12/20 11:08:15 1.2
@@ -15,8 +15,8 @@
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version * $Revision: 1.1 $
+ * @version * $Revision: 1.2 $
*/
-public interface DropView extends Drop {
+public interface DropView extends DropQueryable {
}
1.1 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/actions/DropQueryable.java
Index: DropQueryable.java
===================================================================
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE file.
*/
package org.apache.avalon.db.actions;
/**
* Interface DropQueryable
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
* @version * $Revision: 1.1 $
*/
public interface DropQueryable extends Drop {
}
1.11 +1 -2 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/actions/BasicCreateQueryable.java
Index: BasicCreateQueryable.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/actions/BasicCreateQueryable.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- BasicCreateQueryable.java 2001/11/29 00:50:02 1.10
+++ BasicCreateQueryable.java 2001/12/20 11:08:15 1.11
@@ -14,7 +14,6 @@
import org.apache.avalon.db.data.Column;
import org.apache.avalon.db.data.Table;
import org.apache.avalon.db.data.impl.AbstractColumn;
-import org.apache.avalon.db.data.impl.DefaultVarCharColumn;
import org.apache.avalon.db.data.impl.DefaultIntegerColumn;
import org.apache.avalon.db.data.impl.DefaultDateColumn;
import org.apache.avalon.db.data.impl.DefaultTimeColumn;
@@ -34,7 +33,7 @@
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version $Revision: 1.10 $
+ * @version $Revision: 1.11 $
*/
public abstract class BasicCreateQueryable extends AbstractAction implements CreateTable {
1.3 +5 -17 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/actions/BasicDropQueryable.java
Index: BasicDropQueryable.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/actions/BasicDropQueryable.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- BasicDropQueryable.java 2001/11/29 00:50:02 1.2
+++ BasicDropQueryable.java 2001/12/20 11:08:15 1.3
@@ -8,23 +8,11 @@
*/
package org.apache.avalon.db.basic.actions;
+
+import org.apache.avalon.db.actions.impl.AbstractAction;
import org.apache.avalon.db.actions.CreateTable;
import org.apache.avalon.db.actions.ActionException;
-import org.apache.avalon.db.actions.impl.AbstractAction;
-import org.apache.avalon.db.data.Column;
-import org.apache.avalon.db.data.Table;
-import org.apache.avalon.db.data.impl.AbstractColumn;
-import org.apache.avalon.db.data.impl.DefaultVarCharColumn;
-import org.apache.avalon.db.data.impl.DefaultIntegerColumn;
-import org.apache.avalon.db.data.impl.DefaultDateColumn;
-import org.apache.avalon.db.data.impl.DefaultTimeColumn;
-import org.apache.avalon.db.data.impl.DefaultTimestampColumn;
-import org.apache.avalon.db.data.impl.DefaultSmallIntColumn;
-import org.apache.avalon.db.data.impl.DefaultRealColumn;
-import org.apache.avalon.db.data.impl.DefaultBigIntColumn;
-import org.apache.avalon.db.data.impl.DefaultDecimalColumn;
-import org.apache.avalon.db.basic.data.BasicTable;
-import org.apache.avalon.db.services.DatabasePersistor;
+import org.apache.avalon.db.actions.DropQueryable;
import java.util.Vector;
@@ -34,9 +22,9 @@
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version $Revision: 1.2 $
+ * @version $Revision: 1.3 $
*/
-public abstract class BasicDropQueryable extends AbstractAction implements CreateTable {
+public abstract class BasicDropQueryable extends AbstractAction implements DropQueryable {
protected String mQueryableName;
private int mRecordCount;
1.14 +15 -9 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/handlers/lxsql/BasicLXSQLCreateViewHandler.java
Index: BasicLXSQLCreateViewHandler.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/handlers/lxsql/BasicLXSQLCreateViewHandler.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- BasicLXSQLCreateViewHandler.java 2001/12/19 10:45:45 1.13
+++ BasicLXSQLCreateViewHandler.java 2001/12/20 11:08:16 1.14
@@ -23,9 +23,11 @@
import org.apache.avalon.db.data.Column;
import org.apache.avalon.db.data.types.NumericColumn;
import org.apache.avalon.db.data.types.StringColumn;
+import org.apache.avalon.db.data.types.TemporalColumn;
import org.apache.avalon.db.data.impl.AbstractQueryable;
import org.apache.avalon.db.data.impl.DefaultDelegatedVarcharColumn;
-import org.apache.avalon.db.data.impl.DefaultDelegatedIntegerColumn;
+import org.apache.avalon.db.data.impl.DefaultDelegatedNumericColumn;
+import org.apache.avalon.db.data.impl.DefaultDelegatedTemporalColumn;
import org.apache.avalon.db.server.DBRequestContext;
import org.w3c.dom.Document;
@@ -41,7 +43,7 @@
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version $Revision: 1.13 $
+ * @version $Revision: 1.14 $
*/
public class BasicLXSQLCreateViewHandler extends BasicLXSQLHandler {
@@ -139,16 +141,20 @@
}
- protected Column createDelegatedColumn(AbstractQueryable queryable, ContrivedColumnNameHolder colHldr, Node columnNode, int ix) throws ActionException {
+ protected Column createDelegatedColumn(AbstractQueryable queryable,
+ ContrivedColumnNameHolder colHldr, Node columnNode, int ix) throws ActionException {
Column col = mSelectColumnHelper.getSelectColumn(queryable, (Element) columnNode, colHldr);
Column column = null;
- if (col instanceof StringColumn) {
- column = new DefaultDelegatedVarcharColumn((StringColumn)col,null);
- } else if (col instanceof NumericColumn) {
- //TODO
- column = new DefaultDelegatedIntegerColumn((NumericColumn)col,null);
+ if (queryable.containsColumn(col)) {
+ if (col instanceof StringColumn) {
+ column = new DefaultDelegatedVarcharColumn((StringColumn)col,null);
+ } else if (col instanceof NumericColumn) {
+ column = new DefaultDelegatedNumericColumn((NumericColumn)col,null);
+ } else if (col instanceof TemporalColumn) {
+ column = new DefaultDelegatedTemporalColumn((TemporalColumn)col,null);
+ } // TODO boolean & other types ?
} else {
- //TODO
+ column = col;
}
column.setIndex(ix);
return column;
1.8 +5 -2 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/handlers/lxsql/BasicLXSQLQueryableHandler.java
Index: BasicLXSQLQueryableHandler.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/handlers/lxsql/BasicLXSQLQueryableHandler.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- BasicLXSQLQueryableHandler.java 2001/12/19 10:45:45 1.7
+++ BasicLXSQLQueryableHandler.java 2001/12/20 11:08:16 1.8
@@ -24,7 +24,8 @@
import org.apache.avalon.db.data.impl.DefaultDecimalColumn;
import org.apache.avalon.db.data.impl.AbstractQueryable;
import org.apache.avalon.db.data.impl.DefaultDelegatedVarcharColumn;
-import org.apache.avalon.db.data.impl.DefaultDelegatedIntegerColumn;
+import org.apache.avalon.db.data.impl.DefaultDelegatedNumericColumn;
+import org.apache.avalon.db.data.impl.DefaultBooleanColumn;
import org.apache.avalon.db.actions.ActionException;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
@@ -39,7 +40,7 @@
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
* @author Gerhard Froehlich <a href="mailto:g-froehlich@gmx.de">g-froehlich@gmx.de</a>
- * @version $Revision: 1.7 $
+ * @version $Revision: 1.8 $
*/
public abstract class BasicLXSQLQueryableHandler extends BasicLXSQLHandler {
@@ -120,6 +121,8 @@
column= new DefaultBigIntColumn(fieldName);
} else if (sqlFieldType.equals("decimal")) {
column= new DefaultDecimalColumn(fieldName);
+ } else if (sqlFieldType.equals("boolean")) {
+ column= new DefaultBooleanColumn(fieldName);
} else {
throw new ActionException("Column type " + sqlFieldType + " not recognised");
}
1.13 +2 -1 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/Column.java
Index: Column.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/Column.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- Column.java 2001/12/19 18:59:26 1.12
+++ Column.java 2001/12/20 11:08:16 1.13
@@ -18,7 +18,7 @@
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
* @author Gerhard Froehlich <a href="mailto:g-froehlich@gmx.de">g-froehlich@gmx.de</a>
- * @version * $Revision: 1.12 $
+ * @version * $Revision: 1.13 $
*/
public interface Column extends Nameable {
@@ -63,6 +63,7 @@
int PREC_TIMESTAMP = 9;
int PREC_DATE = 10;
int PREC_NUMERIC_CONST = 11;
+ int PREC_BOOLEAN = 12;
Integer toInteger(Row row);
Long toLong(Row row);
1.7 +2 -3 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/AbstractColumn.java
Index: AbstractColumn.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/AbstractColumn.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- AbstractColumn.java 2001/12/19 18:59:26 1.6
+++ AbstractColumn.java 2001/12/20 11:08:16 1.7
@@ -24,7 +24,7 @@
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
* @author Gerhard Froehlich <a href="mailto:g-froehlich@gmx.de">g-froehlich@gmx.de</a>*
- * @version $Revision: 1.6 $
+ * @version $Revision: 1.7 $
*/
public abstract class AbstractColumn implements Column {
@@ -92,8 +92,7 @@
}
public int getColumnType() {
- //ToDo: implementation
- return 0;
+ return mSqlType.getJDBCType();
}
public String getColumnTypeName() {
1.3 +113 -5 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/AbstractDelegatedColumn.java
Index: AbstractDelegatedColumn.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/AbstractDelegatedColumn.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- AbstractDelegatedColumn.java 2001/12/19 18:59:26 1.2
+++ AbstractDelegatedColumn.java 2001/12/20 11:08:16 1.3
@@ -21,12 +21,13 @@
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version $Revision: 1.2 $
+ * @version $Revision: 1.3 $
*/
-public class AbstractDelegatedColumn extends AbstractColumn {
+public class AbstractDelegatedColumn implements Column {
protected String mAlias;
protected Column mColumn;
+ protected int mIndex;
/**
* Constructor AbstractDelegatedColumn
@@ -35,8 +36,7 @@
* @param name
*
*/
- public AbstractDelegatedColumn(Column column, String alias, SQLType sqlType) throws ActionException {
- super(column.getName(), sqlType);
+ public AbstractDelegatedColumn(Column column, String alias) throws ActionException {
mAlias = alias;
mColumn = column;
}
@@ -45,7 +45,6 @@
return mColumn.getValue(row);
}
-
public Integer toInteger(Row row) {
return mColumn.toInteger(row);
}
@@ -73,4 +72,113 @@
public int getPrecesion() {
return mColumn.getPrecesion();
}
+
+ public void setIndex(int ix) {
+ mIndex = ix;
+ }
+
+ /**
+ * Method getSQLType
+ *
+ *
+ * @return
+ *
+ */
+ public SQLType getSQLType() {
+ return mColumn.getSQLType();
+ }
+
+ /**
+ * Method getName
+ *
+ *
+ * @return
+ *
+ */
+ public String getName() {
+ return mAlias;
+ }
+
+
+ /** methods for the metadata */
+ public int getColumnDisplaySize() {
+ return mColumn.getColumnDisplaySize();
+ }
+
+ public String getColumnLabel() {
+ return mColumn.getColumnLabel();
+ }
+
+ public String getColumnName() {
+ return mAlias;
+ }
+
+ public int getColumnType() {
+ return mColumn.getColumnType();
+ }
+
+ public String getColumnTypeName() {
+ return mColumn.getColumnTypeName();
+ }
+
+ public int getPrecision() {
+ return mColumn.getPrecision();
+ }
+
+ public int getScale() {
+ return mColumn.getScale();
+ }
+
+ public String getSchemaName() {
+ return mColumn.getSchemaName();
+ }
+
+ public String getCatalogName() {
+ return mColumn.getCatalogName();
+ }
+
+ public String getColumnClassName() {
+ return mColumn.getColumnClassName();
+ }
+
+ public String getTableName() {
+ return mColumn.getTableName();
+ }
+
+ public boolean isAutoIncrement() {
+ return mColumn.isAutoIncrement();
+ }
+
+ public boolean isCaseSensitive() {
+ return mColumn.isCaseSensitive();
+ }
+
+ public boolean isCurrency() {
+ return mColumn.isCurrency();
+ }
+
+ public boolean isDefinitelyWritable() {
+ return mColumn.isDefinitelyWritable();
+ }
+
+ public int isNullable() {
+ return mColumn.isNullable();
+ }
+
+ public boolean isReadOnly() {
+ return mColumn.isReadOnly();
+ }
+
+ public boolean isSearchable() {
+ return mColumn.isSearchable();
+ }
+
+ public boolean isSigned() {
+ return mColumn.isSigned();
+ }
+
+ public boolean isWritable() {
+ return mColumn.isWritable();
+ }
+
}
1.14 +9 -2 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/AbstractQueryable.java
Index: AbstractQueryable.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/AbstractQueryable.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- AbstractQueryable.java 2001/12/17 16:10:00 1.13
+++ AbstractQueryable.java 2001/12/20 11:08:16 1.14
@@ -26,7 +26,7 @@
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version $Revision: 1.13 $
+ * @version $Revision: 1.14 $
*/
public abstract class AbstractQueryable extends AbstractNameable implements Queryable {
@@ -208,5 +208,12 @@
}
}
-
+ public boolean containsColumn(Column column) {
+ for (int x = 0; x < mColumns.length; x++) {
+ if (mColumns[x] == column) {
+ return true;
+ }
+ }
+ return false;
+ }
}
1.3 +2 -2 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/DefaultDelegatedVarcharColumn.java
Index: DefaultDelegatedVarcharColumn.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/DefaultDelegatedVarcharColumn.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- DefaultDelegatedVarcharColumn.java 2001/12/19 18:59:26 1.2
+++ DefaultDelegatedVarcharColumn.java 2001/12/20 11:08:16 1.3
@@ -17,7 +17,7 @@
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
- * @version $Revision: 1.2 $
+ * @version $Revision: 1.3 $
*/
public class DefaultDelegatedVarcharColumn extends AbstractDelegatedColumn implements StringColumn {
@@ -30,7 +30,7 @@
*
*/
public DefaultDelegatedVarcharColumn(StringColumn stringColumn, String alias) throws ActionException {
- super(stringColumn, alias, SQLType.VARCHAR);
+ super(stringColumn, alias);
}
public int getMaxLength() {
1.1 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/DefaultBooleanColumn.java
Index: DefaultBooleanColumn.java
===================================================================
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE file.
*/
package org.apache.avalon.db.data.impl;
import org.apache.avalon.db.data.ValidationException;
import org.apache.avalon.db.data.Row;
import org.apache.avalon.db.data.Column;
import org.apache.avalon.db.data.types.SQLType;
import org.apache.avalon.db.data.types.BooleanColumn;
import org.apache.avalon.db.utils.StringUtils;
import java.math.BigDecimal;
/**
* Class DefaultBooleanColumn
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
* @author Gerhard Froehlich <a href="mailto:g-froehlich@gmx.de">g-froehlich@gmx.de</a>*
* @version $Revision: 1.1 $
*/
public class DefaultBooleanColumn extends AbstractWritableColumn implements BooleanColumn {
/**
* Constructor DefaultBooleanColumn
*
*
* @param name
* @param maxLength
*
*/
public DefaultBooleanColumn(String name) {
super(name, SQLType.BOOLEAN);
}
public Object convertFromObject(Object obj) throws ValidationException {
if (obj instanceof String) {
return Boolean.valueOf(obj.toString());
} else if (obj instanceof Boolean) {
return obj;
} else {
throw new ValidationException("Boolean " + mName + " is not passed up as String or Boolean");
}
}
public Object getValue(Row row) {
return row.getValue(mIndex);
}
public String toString(Row row) {
return row.getValue(mIndex).toString();
}
private static Integer INT_TRUE = new Integer(1);
private static Integer INT_FALSE = new Integer(0);
public Integer toInteger(Row row) {
return getBooleanValue(row) ? INT_TRUE : INT_FALSE;
}
private static Long LONG_TRUE = new Long(1);
private static Long LONG_FALSE = new Long(0);
public Long toLong(Row row) {
return getBooleanValue(row) ? LONG_TRUE : LONG_FALSE;
}
private static BigDecimal BD_TRUE = new BigDecimal(1);
private static BigDecimal BD_FALSE = new BigDecimal(0);
public BigDecimal toBigDecimal(Row row) {
return getBooleanValue(row) ? BD_TRUE : BD_FALSE;
}
private static Float FLOAT_TRUE = new Float(1);
private static Float FLOAT_FALSE = new Float(0);
public Float toFloat(Row row) {
return getBooleanValue(row) ? FLOAT_TRUE : FLOAT_FALSE;
}
private static Short SHORT_TRUE = new Short((short)1);
private static Short SHORT_FALSE = new Short((short)0);
public Short toShort(Row row) {
return getBooleanValue(row) ? SHORT_TRUE : SHORT_FALSE;
}
public int getPrecesion() {
return Column.PREC_STRING;
}
public boolean getBooleanValue(Row row) {
Boolean boo = (Boolean) getValue(row);
return boo.booleanValue();
}
}
1.1 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/DefaultDelegatedBooleanColumn.java
Index: DefaultDelegatedBooleanColumn.java
===================================================================
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE file.
*/
package org.apache.avalon.db.data.impl;
import org.apache.avalon.db.data.types.SQLType;
import org.apache.avalon.db.data.types.BooleanColumn;
import org.apache.avalon.db.data.Row;
import org.apache.avalon.db.actions.ActionException;
/**
* Class DefaultDelegatedBooleanColumn
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
* @version $Revision: 1.1 $
*/
public class DefaultDelegatedBooleanColumn extends AbstractDelegatedColumn implements BooleanColumn {
/**
* Constructor DefaultDelegatedBooleanColumn
*
*
* @param name
*
*/
public DefaultDelegatedBooleanColumn(BooleanColumn booleanColumn, String alias) throws ActionException {
super(booleanColumn, alias);
}
public boolean getBooleanValue(Row row) {
return ((BooleanColumn) mColumn).getBooleanValue(row);
}
}
1.1 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/DefaultDelegatedNumericColumn.java
Index: DefaultDelegatedNumericColumn.java
===================================================================
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE file.
*/
package org.apache.avalon.db.data.impl;
import org.apache.avalon.db.data.types.NumericColumn;
import org.apache.avalon.db.data.types.SQLType;
import org.apache.avalon.db.actions.ActionException;
/**
* Class DefaultDelegatedNumericColumn
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
* @version $Revision: 1.1 $
*/
public class DefaultDelegatedNumericColumn extends AbstractDelegatedColumn implements NumericColumn {
/**
* Constructor DefaultDelegatedNumericColumn
*
*
* @param name
*
*/
public DefaultDelegatedNumericColumn(NumericColumn numericColumn, String alias) throws ActionException {
super(numericColumn, alias);
}
}
1.1 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/DefaultDelegatedTemporalColumn.java
Index: DefaultDelegatedTemporalColumn.java
===================================================================
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE file.
*/
package org.apache.avalon.db.data.impl;
import org.apache.avalon.db.data.types.SQLType;
import org.apache.avalon.db.data.types.TemporalColumn;
import org.apache.avalon.db.actions.ActionException;
import java.math.BigDecimal;
/**
* Class DefaultDelegatedTemporalColumn
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
* @version $Revision: 1.1 $
*/
public class DefaultDelegatedTemporalColumn extends AbstractDelegatedColumn implements TemporalColumn {
/**
* Constructor DefaultDelegatedTemporalColumn
*
*
* @param name
*
*/
public DefaultDelegatedTemporalColumn(TemporalColumn temporalColumn, String alias) throws ActionException {
super(temporalColumn, alias);
}
}
1.2 +4 -1 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/types/SQLType.java
Index: SQLType.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/types/SQLType.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SQLType.java 2001/12/19 18:59:27 1.1
+++ SQLType.java 2001/12/20 11:08:16 1.2
@@ -33,12 +33,15 @@
public static final SQLType VARCHAR = new SQLType("varchar", String.class, Types.VARCHAR);
- // date types
+ // temporal types
public static final SQLType DATE = new SQLType("date", Date.class, Types.DATE);
public static final SQLType TIME = new SQLType("time", Time.class, Types.TIME);
public static final SQLType TIMESTAMP = new SQLType("timestamp", Timestamp.class, Types.TIMESTAMP);
+ // temporal types
+
+ public static final SQLType BOOLEAN = new SQLType("boolean", Boolean.class, Types.BOOLEAN);
private String mSqlType;
1.1 jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/types/BooleanColumn.java
Index: BooleanColumn.java
===================================================================
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE file.
*/
package org.apache.avalon.db.data.types;
import org.apache.avalon.db.data.Column;
import org.apache.avalon.db.data.Row;
/**
* Class StringColumn
*
*
* @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
* @version $Revision: 1.1 $
*/
public interface BooleanColumn extends Column {
boolean getBooleanValue(Row row);
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>