hammant     01/11/28 16:50:03

  Modified:    apps/db/src/java/org/apache/avalon/db/basic/actions
                        BasicCreateQueryable.java BasicDropQueryable.java
                        SimpleWhereClause.java
               apps/db/src/java/org/apache/avalon/db/basic/handlers/lxsql
                        BasicLXSQLAggregateHandler.java
                        BasicLXSQLQueryableHandler.java
               apps/db/src/java/org/apache/avalon/db/data/impl
                        DefaultAggregateVarcharKeyColumn.java
  Added:       apps/db/src/java/org/apache/avalon/db/data/impl
                        DefaultBigIntColumn.java
                        DefaultContrivedStringFunctionColumn.java
                        DefaultDateColumn.java DefaultDecimalColumn.java
                        DefaultIntegerColumn.java DefaultRealColumn.java
                        DefaultSmallIntColumn.java
                        DefaultStringConstantColumn.java
                        DefaultTimeColumn.java DefaultTimestampColumn.java
                        DefaultVarCharColumn.java
  Removed:     apps/db/src/java/org/apache/avalon/db/data/impl
                        BigIntColumn.java
                        ContrivedStringFunctionColumn.java DateColumn.java
                        DecimalColumn.java IntegerColumn.java
                        RealColumn.java SmallIntColumn.java
                        StringConstantColumn.java TimeColumn.java
                        TimestampColumn.java VarCharColumn.java
  Log:
  Renames to DefaultXXXX from XXXX for column impls
  
  Revision  Changes    Path
  1.10      +10 -10    
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.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- BasicCreateQueryable.java 2001/11/18 14:18:01     1.9
  +++ BasicCreateQueryable.java 2001/11/29 00:50:02     1.10
  @@ -14,15 +14,15 @@
   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.VarCharColumn;
  -import org.apache.avalon.db.data.impl.IntegerColumn;
  -import org.apache.avalon.db.data.impl.DateColumn;
  -import org.apache.avalon.db.data.impl.TimeColumn;
  -import org.apache.avalon.db.data.impl.TimestampColumn;
  -import org.apache.avalon.db.data.impl.SmallIntColumn;
  -import org.apache.avalon.db.data.impl.RealColumn;
  -import org.apache.avalon.db.data.impl.BigIntColumn;
  -import org.apache.avalon.db.data.impl.DecimalColumn;
  +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;
   
  @@ -34,7 +34,7 @@
    *
    *
    * @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL 
PROTECTED]</a>
  - * @version $Revision: 1.9 $
  + * @version $Revision: 1.10 $
    */
   public abstract class BasicCreateQueryable extends AbstractAction implements 
CreateTable {
   
  
  
  
  1.2       +10 -10    
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.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- BasicDropQueryable.java   2001/11/19 08:39:17     1.1
  +++ BasicDropQueryable.java   2001/11/29 00:50:02     1.2
  @@ -14,15 +14,15 @@
   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.VarCharColumn;
  -import org.apache.avalon.db.data.impl.IntegerColumn;
  -import org.apache.avalon.db.data.impl.DateColumn;
  -import org.apache.avalon.db.data.impl.TimeColumn;
  -import org.apache.avalon.db.data.impl.TimestampColumn;
  -import org.apache.avalon.db.data.impl.SmallIntColumn;
  -import org.apache.avalon.db.data.impl.RealColumn;
  -import org.apache.avalon.db.data.impl.BigIntColumn;
  -import org.apache.avalon.db.data.impl.DecimalColumn;
  +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;
   
  @@ -34,7 +34,7 @@
    *
    *
    * @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL 
PROTECTED]</a>
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.2 $
    */
   public abstract class BasicDropQueryable extends AbstractAction implements 
CreateTable {
   
  
  
  
  1.7       +3 -3      
jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/actions/SimpleWhereClause.java
  
  Index: SimpleWhereClause.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/actions/SimpleWhereClause.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- SimpleWhereClause.java    2001/11/23 08:21:53     1.6
  +++ SimpleWhereClause.java    2001/11/29 00:50:02     1.7
  @@ -14,7 +14,7 @@
   import org.apache.avalon.db.data.Column;
   import org.apache.avalon.db.data.DataException;
   import org.apache.avalon.db.data.ValidationException;
  -import org.apache.avalon.db.data.impl.StringConstantColumn;
  +import org.apache.avalon.db.data.impl.DefaultStringConstantColumn;
   import org.apache.avalon.framework.logger.AbstractLogEnabled;
   import org.apache.regexp.RE;
   import org.apache.regexp.RESyntaxException;
  @@ -31,7 +31,7 @@
    *
    * @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL 
PROTECTED]</a>
    * @author Gerhard Froehlich <a href="mailto:[EMAIL PROTECTED]">[EMAIL 
PROTECTED]</a>
  - * @version $Revision: 1.6 $
  + * @version $Revision: 1.7 $
    */
   public class SimpleWhereClause extends AbstractLogEnabled {
       private String mWhereClause;
  @@ -297,7 +297,7 @@
          }
   
          private Column getConstantColumn(String name, String value) {
  -            return new StringConstantColumn(name,value);
  +            return new DefaultStringConstantColumn(name,value);
          }
       }
   }
  
  
  
  1.4       +10 -10    
jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/handlers/lxsql/BasicLXSQLAggregateHandler.java
  
  Index: BasicLXSQLAggregateHandler.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/handlers/lxsql/BasicLXSQLAggregateHandler.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- BasicLXSQLAggregateHandler.java   2001/11/28 23:09:58     1.3
  +++ BasicLXSQLAggregateHandler.java   2001/11/29 00:50:02     1.4
  @@ -14,15 +14,15 @@
   import org.apache.avalon.db.data.Queryable;
   import org.apache.avalon.db.data.types.Type;
   import org.apache.avalon.db.data.types.StringType;
  -import org.apache.avalon.db.data.impl.VarCharColumn;
  -import org.apache.avalon.db.data.impl.IntegerColumn;
  -import org.apache.avalon.db.data.impl.DateColumn;
  -import org.apache.avalon.db.data.impl.TimeColumn;
  -import org.apache.avalon.db.data.impl.TimestampColumn;
  -import org.apache.avalon.db.data.impl.SmallIntColumn;
  -import org.apache.avalon.db.data.impl.RealColumn;
  -import org.apache.avalon.db.data.impl.BigIntColumn;
  -import org.apache.avalon.db.data.impl.DecimalColumn;
  +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.data.impl.DefaultAggregateCountColumn;
   import org.apache.avalon.db.data.impl.DefaultAggregateSumColumn;
   import org.apache.avalon.db.data.impl.DefaultAggregateAveColumn;
  @@ -43,7 +43,7 @@
    *
    * @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL 
PROTECTED]</a>
    * @author Gerhard Froehlich <a href="mailto:[EMAIL PROTECTED]">[EMAIL 
PROTECTED]</a>
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.4 $
    */
   public abstract class BasicLXSQLAggregateHandler extends 
BasicLXSQLQueryableHandler {
   
  
  
  
  1.2       +19 -19    
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.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- BasicLXSQLQueryableHandler.java   2001/11/18 14:18:02     1.1
  +++ BasicLXSQLQueryableHandler.java   2001/11/29 00:50:02     1.2
  @@ -11,15 +11,15 @@
   import org.apache.avalon.db.basic.parser.BasicLXSQLParser;
   import org.apache.avalon.db.services.DatabasePersistor;
   import org.apache.avalon.db.data.Column;
  -import org.apache.avalon.db.data.impl.VarCharColumn;
  -import org.apache.avalon.db.data.impl.IntegerColumn;
  -import org.apache.avalon.db.data.impl.DateColumn;
  -import org.apache.avalon.db.data.impl.TimeColumn;
  -import org.apache.avalon.db.data.impl.TimestampColumn;
  -import org.apache.avalon.db.data.impl.SmallIntColumn;
  -import org.apache.avalon.db.data.impl.RealColumn;
  -import org.apache.avalon.db.data.impl.BigIntColumn;
  -import org.apache.avalon.db.data.impl.DecimalColumn;
  +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.actions.ActionException;
   import org.w3c.dom.Element;
   import org.w3c.dom.NodeList;
  @@ -34,7 +34,7 @@
    *
    * @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL 
PROTECTED]</a>
    * @author Gerhard Froehlich <a href="mailto:[EMAIL PROTECTED]">[EMAIL 
PROTECTED]</a>
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.2 $
    */
   public abstract class BasicLXSQLQueryableHandler extends BasicLXSQLHandler {
   
  @@ -83,23 +83,23 @@
           Column column = null;
           if (sqlFieldType.equals("varchar")) {
               int maxLength = 
Integer.parseInt(columnNode.getAttributes().getNamedItem("max").getNodeValue());
  -            column= new VarCharColumn(fieldName, maxLength);
  +            column= new DefaultVarCharColumn(fieldName, maxLength);
           } else if (sqlFieldType.equals("integer")) {
  -            column= new IntegerColumn(fieldName);
  +            column= new DefaultIntegerColumn(fieldName);
           } else if (sqlFieldType.equals("date")) {
  -            column= new DateColumn(fieldName);
  +            column= new DefaultDateColumn(fieldName);
           } else if (sqlFieldType.equals("time")) {
  -            column= new TimeColumn(fieldName);
  +            column= new DefaultTimeColumn(fieldName);
           } else if (sqlFieldType.equals("timestamp")) {
  -            column= new TimestampColumn(fieldName);
  +            column= new DefaultTimestampColumn(fieldName);
           } else if (sqlFieldType.equals("smallint")) {
  -            column= new SmallIntColumn(fieldName);
  +            column= new DefaultSmallIntColumn(fieldName);
           } else if (sqlFieldType.equals("real")) {
  -            column= new RealColumn(fieldName);
  +            column= new DefaultRealColumn(fieldName);
           } else if (sqlFieldType.equals("bigint")) {
  -            column= new BigIntColumn(fieldName);
  +            column= new DefaultBigIntColumn(fieldName);
           } else if (sqlFieldType.equals("decimal")) {
  -            column= new DecimalColumn(fieldName);
  +            column= new DefaultDecimalColumn(fieldName);
           } else {
               throw new ActionException("Column type " + sqlFieldType + " not 
recognised");
           }
  
  
  
  1.2       +1 -1      
jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/DefaultAggregateVarcharKeyColumn.java
  
  Index: DefaultAggregateVarcharKeyColumn.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/DefaultAggregateVarcharKeyColumn.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DefaultAggregateVarcharKeyColumn.java     2001/11/28 23:09:58     1.1
  +++ DefaultAggregateVarcharKeyColumn.java     2001/11/29 00:50:03     1.2
  @@ -24,9 +24,9 @@
    *
    *
    * @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL 
PROTECTED]</a>
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.2 $
    */
  -public class DefaultAggregateVarcharKeyColumn extends VarCharColumn 
implements AggregateKeyColumn {
  +public class DefaultAggregateVarcharKeyColumn extends DefaultVarCharColumn 
implements AggregateKeyColumn {
   
       private int mAve;
       private Integer mAve2;
  
  
  
  1.1                  
jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/DefaultBigIntColumn.java
  
  Index: DefaultBigIntColumn.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.types.NumericType;
  import org.apache.avalon.db.data.types.Type;
  import org.apache.avalon.db.data.Row;
  
  import java.math.BigDecimal;
  
  /**
   * Class DefaultBigIntColumn
   *
   * @author Gerhard Froehlich <a href="mailto:[EMAIL PROTECTED]">[EMAIL 
PROTECTED]</a>
   * @version $Revision: 1.1 $
   */
  public class DefaultBigIntColumn extends AbstractWritableColumn implements 
NumericType {
  
      /**
       * Constructor DefaultBigIntColumn
       * @param name
       */
      public DefaultBigIntColumn(String name) {
          super(name,"bigint",Long.class.getName());
      }
  
      public Object convertFromObject(Object obj) throws ValidationException {
          try {
              if (obj instanceof String) {
                  return Long.valueOf(obj.toString());
              } else if (obj instanceof Long) {
                  return obj;
              } else {
                  throw new ValidationException("Bigint " + mName + " is not 
passed up as String or Long");
              }
          } catch (NumberFormatException nfe) {
              throw new ValidationException("Bigint " + mName + " is not a 
valid number (" + obj + ")");
          }
      }
  
      public Integer toInteger(Row row) {
          return new Integer(((Long)row.getValue(mIndex)).intValue());
      }
  
      public Long toLong(Row row) {
          return (Long)row.getValue(mIndex);
      }
  
      public BigDecimal toBigDecimal(Row row) {
          return new BigDecimal(((Long)row.getValue(mIndex)).doubleValue());
      }
  
      public Float toFloat(Row row) {
          return new Float(((Long)row.getValue(mIndex)).floatValue());
      }
  
      public Short toShort(Row row) {
          return new Short(((Long)row.getValue(mIndex)).shortValue());
      }
  
      public int getPrecesion() {
          return Type.PREC_SHORT;
      }
  
      public String toString(Row row) {
          return ((Long)row.getValue(mIndex)).toString();
      }
  }
  
  
  
  1.1                  
jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/DefaultContrivedStringFunctionColumn.java
  
  Index: DefaultContrivedStringFunctionColumn.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.StringType;
  import org.apache.avalon.db.data.types.Type;
  import org.apache.avalon.db.data.ValidationException;
  import org.apache.avalon.db.data.Row;
  import org.apache.avalon.db.functions.StringFunction;
  import org.apache.avalon.db.actions.ActionException;
  
  import java.math.BigDecimal;
  
  
  /**
   * Class DefaultContrivedStringFunctionColumn
   *
   *
   * @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL 
PROTECTED]</a>
   * @version $Revision: 1.1 $
   */
  public class DefaultContrivedStringFunctionColumn extends 
AbstractContrivedColumn implements StringType {
  
      StringFunction mStringFunction;
  
      /**
       * Constructor DefaultContrivedStringFunctionColumn
       *
       *
       * @param name
       * @param stringFunction
       *
       */
      public DefaultContrivedStringFunctionColumn(String name, StringFunction 
stringFunction) throws ActionException {
          super(getNameOfColumn(name),"varchar",String.class.getName());
          mStringFunction = stringFunction;
      }
  
      public Object getValue(Row row) {
          return mStringFunction.getValue(row);
      }
  
      public String toString(Row row) {
          return (String)mStringFunction.getValue(row);
      }
  
      public int getPrecesion() {
          return Type.PREC_STRING;
      }
  
      public Integer toInteger(Row row) {
          return new Integer((String)mStringFunction.getValue(row));
      }
  
      public Long toLong(Row row) {
          return new Long((String)mStringFunction.getValue(row));
      }
  
      public BigDecimal toBigDecimal(Row row) {
          return new BigDecimal((String)mStringFunction.getValue(row));
      }
  
      public Float toFloat(Row row) {
          return new Float((String)mStringFunction.getValue(row));
      }
  
      public Short toShort(Row row) {
          return new Short((String)mStringFunction.getValue(row));
      }
  
      public int getMaxLength() {
          return mStringFunction.getMaxLength();
      }
  }
  
  
  
  1.1                  
jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/DefaultDateColumn.java
  
  Index: DefaultDateColumn.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.types.TemporalType;
  import org.apache.avalon.db.data.types.Type;
  
  import java.sql.Date;
  import java.math.BigDecimal;
  
  
  /**
   * Class DefaultDateColumn
   *
   * @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL 
PROTECTED]</a>
   * @version $Revision: 1.1 $
   */
  public class DefaultDateColumn extends AbstractWritableColumn implements 
TemporalType {
  
      /**
       * Constructor DefaultDateColumn
       * @param name
       */
      public DefaultDateColumn(String name) {
          super(name,"date", Date.class.getName());
      }
  
      public Object convertFromObject(Object obj) throws ValidationException {
          try {
              if (obj instanceof String) {
                  return Date.valueOf(obj.toString());
              } else if (obj instanceof Date) {
                  return obj;
              } else {
                  throw new ValidationException("Date object named " + mName + 
" not recognised as String or Date");
              }
          } catch (IllegalArgumentException iae) {
              throw new ValidationException("Date " + mName + " is not a valid 
format (" + obj + ")");
          }
      }
  
      public int getPrecesion() {
          return Type.PREC_DATE;
      }
  
      public Integer toInteger(Row row) {
          return null;
      }
  
      public Long toLong(Row row) {
          return null;
      }
  
      public BigDecimal toBigDecimal(Row row) {
          return null;
      }
  
      public Float toFloat(Row row) {
          return null;
      }
  
      public Short toShort(Row row) {
          return null;
      }
  
      public String toString(Row row) {
          return null;
      }
  }
  
  
  
  1.1                  
jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/DefaultDecimalColumn.java
  
  Index: DefaultDecimalColumn.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.types.NumericType;
  import org.apache.avalon.db.data.types.Type;
  import org.apache.avalon.db.data.Row;
  
  import java.math.BigDecimal;
  
  /**
   * Class DefaultDecimalColumn
   *
   * @author Gerhard Froehlich <a href="mailto:[EMAIL PROTECTED]">[EMAIL 
PROTECTED]</a>
   * @version $Revision: 1.1 $
   */
  public class DefaultDecimalColumn extends AbstractWritableColumn implements 
NumericType {
  
      /**
       * Constructor DefaultDecimalColumn
       * @param name
       */
      public DefaultDecimalColumn(String name) {
          super(name,"decimal",BigDecimal.class.getName());
      }
  
      public Object convertFromObject(Object obj) throws ValidationException {
          try {
              if (obj instanceof String) {
                  return new BigDecimal(obj.toString());
              } else if (obj instanceof BigDecimal) {
                  return obj;
              } else {
                  throw new ValidationException("Decimal " + mName + " is not 
passed up as String or BigDecimal");
              }
          } catch (NumberFormatException nfe) {
              throw new ValidationException("Decimal " + mName + " is not a 
valid number (" + obj + ")");
          }
      }
  
      public Integer toInteger(Row row) {
          return new Integer(((BigDecimal)row.getValue(mIndex)).intValue());
      }
  
      public Long toLong(Row row) {
          return new Long(((BigDecimal)row.getValue(mIndex)).longValue());
      }
  
      public BigDecimal toBigDecimal(Row row) {
          return (BigDecimal)row.getValue(mIndex);
      }
  
      public Float toFloat(Row row) {
          return new Float(((BigDecimal)row.getValue(mIndex)).floatValue());
      }
  
      public Short toShort(Row row) {
          return new Short(((BigDecimal)row.getValue(mIndex)).shortValue());
      }
  
      public int getPrecesion() {
          return Type.PREC_BIGDEC;
      }
  
      public String toString(Row row) {
          return ((BigDecimal)row.getValue(mIndex)).toString();
      }
  }
  
  
  
  1.1                  
jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/DefaultIntegerColumn.java
  
  Index: DefaultIntegerColumn.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.types.NumericType;
  import org.apache.avalon.db.data.types.Type;
  import org.apache.avalon.db.data.Row;
  
  import java.math.BigDecimal;
  
  
  /**
   * Class DefaultIntegerColumn
   *
   *
   * @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL 
PROTECTED]</a>
   * @version $Revision: 1.1 $
   */
  public class DefaultIntegerColumn extends AbstractWritableColumn implements 
NumericType {
  
      /**
       * Constructor DefaultIntegerColumn
       *
       *
       * @param name
       *
       */
      public DefaultIntegerColumn(String name) {
          super(name,"integer",Integer.class.getName());
      }
  
      public Object convertFromObject(Object obj) throws ValidationException {
          try {
              if (obj instanceof String) {
                return Integer.valueOf(obj.toString());
              } else if (obj instanceof Integer) {
                  return obj;
              } else {
                  throw new ValidationException("Integer " + mName + " is not 
passed up as String or Integer");
              }
          } catch (NumberFormatException nfe) {
              throw new ValidationException("Integer " + mName + " is not a 
valid number (" + obj + ")");
          }
      }
  
      public Integer toInteger(Row row) {
          return (Integer)row.getValue(mIndex);
      }
  
      public Long toLong(Row row) {
          return new Long(((Integer)row.getValue(mIndex)).longValue());
      }
  
      public BigDecimal toBigDecimal(Row row) {
          return new BigDecimal(((Integer)row.getValue(mIndex)).doubleValue());
      }
  
      public Float toFloat(Row row) {
          return new Float(((Integer)row.getValue(mIndex)).floatValue());
      }
  
      public Short toShort(Row row) {
          return new Short(((Integer)row.getValue(mIndex)).shortValue());
      }
  
      public int getPrecesion() {
          return Type.PREC_INT;
      }
  
      public String toString(Row row) {
          return ((Integer)row.getValue(mIndex)).toString();
      }
  }
  
  
  
  1.1                  
jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/DefaultRealColumn.java
  
  Index: DefaultRealColumn.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.types.NumericType;
  import org.apache.avalon.db.data.types.Type;
  import org.apache.avalon.db.data.Row;
  
  import java.math.BigDecimal;
  
  /**
   * Class DefaultRealColumn
   *
   * @author Gerhard Froehlich <a href="mailto:[EMAIL PROTECTED]">[EMAIL 
PROTECTED]</a>
   * @version $Revision: 1.1 $
   */
  public class DefaultRealColumn extends AbstractWritableColumn implements 
NumericType {
  
      /**
       * Constructor DefaultRealColumn
       * @param name
       */
      public DefaultRealColumn(String name) {
          super(name,"real",Float.class.getName());
      }
  
      public Object convertFromObject(Object obj) throws ValidationException {
          try {
              if (obj instanceof String) {
                  return Float.valueOf(obj.toString());
              } else if (obj instanceof Float) {
                  return obj;
              } else {
                  throw new ValidationException("Real " + mName + " is not 
passed up as String or Float");
              }
          } catch (NumberFormatException nfe) {
              throw new ValidationException("Real " + mName + " is not a valid 
number (" + obj + ")");
          }
      }
  
      public Integer toInteger(Row row) {
          return new Integer(((Float)row.getValue(mIndex)).intValue());
      }
  
      public Long toLong(Row row) {
          return new Long(((Float)row.getValue(mIndex)).longValue());
      }
  
      public BigDecimal toBigDecimal(Row row) {
          return new BigDecimal(((Float)row.getValue(mIndex)).doubleValue());
      }
  
      public Float toFloat(Row row) {
          return (Float)row.getValue(mIndex);
      }
  
      public Short toShort(Row row) {
          return new Short(((Float)row.getValue(mIndex)).shortValue());
      }
  
      public int getPrecesion() {
          return Type.PREC_FLOAT;
      }
  
      public String toString(Row row) {
          return ((Float)row.getValue(mIndex)).toString();
      }
  }
  
  
  
  1.1                  
jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/DefaultSmallIntColumn.java
  
  Index: DefaultSmallIntColumn.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.types.NumericType;
  import org.apache.avalon.db.data.types.Type;
  import org.apache.avalon.db.data.Row;
  
  import java.math.BigDecimal;
  
  /**
   * Class DefaultSmallIntColumn
   *
   * @author Gerhard Froehlich <a href="mailto:[EMAIL PROTECTED]">[EMAIL 
PROTECTED]</a>
   * @version $Revision: 1.1 $
   */
  public class DefaultSmallIntColumn extends AbstractWritableColumn implements 
NumericType {
  
      /**
       * Constructor DefaultSmallIntColumn
       * @param name
       */
      public DefaultSmallIntColumn(String name) {
          super(name,"smallint",Short.class.getName());
      }
  
      public Object convertFromObject(Object obj) throws ValidationException {
          try {
              if (obj instanceof String) {
                  return Short.valueOf(obj.toString());
              } else if (obj instanceof Short) {
                  return obj;
              } else {
                  throw new ValidationException("Smallint " + mName + " is not 
passed up as String or Short");
              }
          } catch (NumberFormatException nfe) {
              throw new ValidationException("SmallInt " + mName + " is not a 
valid number (" + obj + ")");
          }
      }
  
      public Integer toInteger(Row row) {
          return new Integer(((Short)row.getValue(mIndex)).intValue());
      }
  
      public Long toLong(Row row) {
          return new Long(((Short)row.getValue(mIndex)).longValue());
      }
  
      public BigDecimal toBigDecimal(Row row) {
          return new BigDecimal(((Short)row.getValue(mIndex)).doubleValue());
      }
  
      public Float toFloat(Row row) {
          return new Float(((Short)row.getValue(mIndex)).floatValue());
      }
  
      public Short toShort(Row row) {
          return (Short)row.getValue(mIndex);
      }
  
      public int getPrecesion() {
          return Type.PREC_SHORT;
      }
  
      public String toString(Row row) {
          return ((Short)row.getValue(mIndex)).toString();
      }
  }
  
  
  
  1.1                  
jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/DefaultStringConstantColumn.java
  
  Index: DefaultStringConstantColumn.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.types.StringConstantType;
  import org.apache.avalon.db.data.types.Type;
  
  import java.math.BigDecimal;
  
  /**
   * Class DefaultStringConstantColumn
   *
   *
   * @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL 
PROTECTED]</a>
   * @author Gerhard Froehlich <a href="mailto:[EMAIL PROTECTED]">[EMAIL 
PROTECTED]</a>*
   * @version $Revision: 1.1 $
   */
  public class DefaultStringConstantColumn extends AbstractColumn implements 
StringConstantType {
  
      private String mStrConstant;
  
      /**
       * Constructor DefaultStringConstantColumn
       *
       *
       * @param name
       * @param strConstant
       *
       */
      public DefaultStringConstantColumn(String name, String strConstant) {
          super(name,"varchar",String.class.getName());
          mStrConstant = strConstant;
      }
  
      public Object getValue(Row row) {
          return mStrConstant;
      }
  
      public String toString(Row row) {
          return mStrConstant;
      }
  
      public Integer toInteger(Row row) {
          return new Integer(mStrConstant);
      }
  
      public Long toLong(Row row) {
          return new Long(mStrConstant);
      }
  
      public BigDecimal toBigDecimal(Row row) {
          return new BigDecimal(mStrConstant);
      }
  
      public Float toFloat(Row row) {
          return new Float(mStrConstant);
      }
      
      public Short toShort(Row row) {
          return new Short(mStrConstant);
      }
  
      public int getPrecesion() {
          return Type.PREC_CONST;
      }
  }
  
  
  
  1.1                  
jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/DefaultTimeColumn.java
  
  Index: DefaultTimeColumn.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.types.TemporalType;
  import org.apache.avalon.db.data.types.Type;
  
  import java.sql.Time;
  import java.math.BigDecimal;
  
  /**
   * Class DefaultTimeColumn
   *
   * @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL 
PROTECTED]</a>
   * @version $Revision: 1.1 $
   */
  public class DefaultTimeColumn extends AbstractWritableColumn implements 
TemporalType {
  
      /**
       * Constructor DefaultTimeColumn
       * @param name
       */
      public DefaultTimeColumn(String name) {
          super(name,"time", Time.class.getName());
      }
  
      public Object convertFromObject(Object obj) throws ValidationException {
          try {
              if (obj instanceof String) {
                  return Time.valueOf(obj.toString());
              } else if (obj instanceof Time) {
                  return obj;
              } else {
                  throw new ValidationException("Time object named " + mName + 
" not recognised as String or Time");
              }
          } catch (IllegalArgumentException iae) {
              throw new ValidationException("Time " + mName + " is not a valid 
format (" + obj + ")");
          }
      }
  
      public int getPrecesion() {
          return Type.PREC_TIME;
      }
  
      public Integer toInteger(Row row) {
          return null;
      }
  
      public Long toLong(Row row) {
          return null;
      }
  
      public BigDecimal toBigDecimal(Row row) {
          return null;
      }
  
      public Float toFloat(Row row) {
          return null;
      }
  
      public Short toShort(Row row) {
          return null;
      }
  
      public String toString(Row row) {
          return null;
      }
  }
  
  
  
  1.1                  
jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/DefaultTimestampColumn.java
  
  Index: DefaultTimestampColumn.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.types.TemporalType;
  import org.apache.avalon.db.data.types.Type;
  
  import java.sql.Timestamp;
  import java.math.BigDecimal;
  
  /**
   * Class DefaultTimestampColumn
   *
   * @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL 
PROTECTED]</a>
   * @version $Revision: 1.1 $
   */
  public class DefaultTimestampColumn extends AbstractWritableColumn implements 
TemporalType {
  
      /**
       * Constructor DefaultTimestampColumn
       * @param name
       */
      public DefaultTimestampColumn(String name) {
          super(name,"timestamp", Timestamp.class.getName());
      }
  
      public Object convertFromObject(Object obj) throws ValidationException {
          try {
              if (obj instanceof String) {
                  return Timestamp.valueOf(obj.toString());
              } else if (obj instanceof Timestamp) {
                  return obj;
              } else {
                  throw new ValidationException("Timestamp object named " + 
mName + " not recognised as String or Timestamp");
              }
          } catch (IllegalArgumentException iae) {
              throw new ValidationException("Timestamp " + mName + " is not a 
valid format (" + obj + ")");
          }
      }
  
      public int getPrecesion() {
          return Type.PREC_TIMESTAMP;
      }
  
      public Integer toInteger(Row row) {
          return null;
      }
  
      public Long toLong(Row row) {
          return null;
      }
  
      public BigDecimal toBigDecimal(Row row) {
          return null;
      }
  
      public Float toFloat(Row row) {
          return null;
      }
  
      public Short toShort(Row row) {
          return null;
      }
  
      public String toString(Row row) {
          return null;
      }
  }
  
  
  
  1.1                  
jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/DefaultVarCharColumn.java
  
  Index: DefaultVarCharColumn.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.types.StringType;
  import org.apache.avalon.db.data.types.Type;
  
  import java.math.BigDecimal;
  
  
  /**
   * Class DefaultVarCharColumn
   *
   *
   * @author Paul Hammant <a href="mailto:[EMAIL PROTECTED]">[EMAIL 
PROTECTED]</a>
   * @author Gerhard Froehlich <a href="mailto:[EMAIL PROTECTED]">[EMAIL 
PROTECTED]</a>*
   * @version $Revision: 1.1 $
   */
  public class DefaultVarCharColumn extends AbstractWritableColumn implements 
StringType {
  
      private int mMaxLength;
  
      /**
       * Constructor DefaultVarCharColumn
       *
       *
       * @param name
       * @param maxLength
       *
       */
      public DefaultVarCharColumn(String name, int maxLength) {
          super(name,"varchar",String.class.getName());
          mMaxLength = maxLength;
      }
  
      public Object convertFromObject(Object obj) throws ValidationException {
          String str = (String) obj;
          if (str.length() > mMaxLength) {
              throw new ValidationException("String " + mName + " is too long 
at " + str.length());
          }
          return str;
      }
  
      public String toString(Row row) {
          return (String)row.getValue(mIndex);
      }
  
      public Integer toInteger(Row row) {
          return new Integer((String)row.getValue(mIndex));
      }
  
      public Long toLong(Row row) {
          return new Long((String)row.getValue(mIndex));
      }
  
      public BigDecimal toBigDecimal(Row row) {
          return new BigDecimal((String)row.getValue(mIndex));
      }
  
      public Float toFloat(Row row) {
          return new Float((String)row.getValue(mIndex));
      }
  
      public Short toShort(Row row) {
          return new Short((String)row.getValue(mIndex));
      }
  
      public int getPrecesion() {
          return Type.PREC_STRING;
      }
  
      public int getMaxLength() {
          return mMaxLength;
      }
  }
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to