You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avalon.apache.org by ha...@apache.org on 2001/11/13 00:09:57 UTC

cvs commit: jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl AbstractColumn.java VarCharColumn.java DefaultColumn.java

hammant     01/11/12 15:09:57

  Modified:    apps/db/src/java/org/apache/avalon/db/basic/actions
                        BasicCreateQueryable.java BasicCreateTable.java
               apps/db/src/java/org/apache/avalon/db/basic/parser
                        BasicLXSQLParser.java
               apps/db/src/java/org/apache/avalon/db/bcel/parser
                        BCELHelper.java BCELLXSQLParser.java
                        BCELSQLParser.java
               apps/db/src/java/org/apache/avalon/db/data Column.java
  Added:       apps/db/src/java/org/apache/avalon/db/data/impl
                        AbstractColumn.java VarCharColumn.java
  Removed:     apps/db/src/java/org/apache/avalon/db/data/impl
                        DefaultColumn.java
  Log:
  start of different column types
  
  Revision  Changes    Path
  1.2       +7 -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.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- BasicCreateQueryable.java	2001/11/11 13:03:45	1.1
  +++ BasicCreateQueryable.java	2001/11/12 23:09:56	1.2
  @@ -13,7 +13,8 @@
   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.DefaultColumn;
  +import org.apache.avalon.db.data.impl.AbstractColumn;
  +import org.apache.avalon.db.data.impl.VarCharColumn;
   import org.apache.avalon.db.basic.data.BasicTable;
   import org.apache.avalon.db.services.DatabasePersistor;
   import org.w3c.dom.Element;
  @@ -28,7 +29,7 @@
    *
    *
    * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.2 $
    */
   public abstract class BasicCreateQueryable extends AbstractAction implements CreateTable {
   
  @@ -53,7 +54,11 @@
                           String fieldName = columnNode.getAttributes().getNamedItem("name").getNodeValue();
                           String sqlFieldType = columnNode.getAttributes().getNamedItem("type").getNodeValue();
                           String fieldType = getJavaType(sqlFieldType).toString();
  -                        Column column = new DefaultColumn(fieldName, sqlFieldType, fieldType);
  +                        Column column = null;
  +                        if (sqlFieldType.equals("varchar")) {
  +                            int maxLength = Integer.parseInt(columnNode.getAttributes().getNamedItem("max").getNodeValue());
  +                            column= new VarCharColumn(fieldName, maxLength);
  +                        }
                           columns.add(column);
                       } else {
                           // TODO  There should be no other element types inside <columns>
  
  
  
  1.8       +1 -1      jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/actions/BasicCreateTable.java
  
  Index: BasicCreateTable.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/actions/BasicCreateTable.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- BasicCreateTable.java	2001/11/11 21:44:47	1.7
  +++ BasicCreateTable.java	2001/11/12 23:09:56	1.8
  @@ -13,7 +13,7 @@
   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.DefaultColumn;
  +import org.apache.avalon.db.data.impl.AbstractColumn;
   import org.apache.avalon.db.basic.data.BasicTable;
   import org.apache.avalon.db.services.DatabasePersistor;
   import org.w3c.dom.Element;
  
  
  
  1.11      +1 -1      jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/parser/BasicLXSQLParser.java
  
  Index: BasicLXSQLParser.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/basic/parser/BasicLXSQLParser.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- BasicLXSQLParser.java	2001/11/11 21:44:47	1.10
  +++ BasicLXSQLParser.java	2001/11/12 23:09:56	1.11
  @@ -21,7 +21,7 @@
   import org.apache.avalon.db.transport.CreateViewRequest;
   import org.apache.avalon.db.transport.CreateIndexRequest;
   import org.apache.avalon.db.data.Column;
  -import org.apache.avalon.db.data.impl.DefaultColumn;
  +import org.apache.avalon.db.data.impl.AbstractColumn;
   import org.apache.avalon.db.bcel.actions.AbstractBCELAction;
   import org.apache.avalon.db.basic.actions.BasicCreateTable;
   import org.apache.avalon.db.basic.actions.BasicInsert;
  
  
  
  1.3       +1 -1      jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/bcel/parser/BCELHelper.java
  
  Index: BCELHelper.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/bcel/parser/BCELHelper.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- BCELHelper.java	2001/11/10 21:45:03	1.2
  +++ BCELHelper.java	2001/11/12 23:09:56	1.3
  @@ -25,7 +25,7 @@
   import org.apache.avalon.db.bcel.data.BCELTable;
   import org.apache.avalon.db.data.Table;
   import org.apache.avalon.db.data.Column;
  -import org.apache.avalon.db.data.impl.DefaultColumn;
  +import org.apache.avalon.db.data.impl.AbstractColumn;
   import org.apache.avalon.phoenix.Block;
   import org.apache.avalon.phoenix.BlockContext;
   import org.apache.avalon.framework.context.Contextualizable;
  
  
  
  1.4       +2 -2      jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/bcel/parser/BCELLXSQLParser.java
  
  Index: BCELLXSQLParser.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/bcel/parser/BCELLXSQLParser.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- BCELLXSQLParser.java	2001/11/11 21:44:47	1.3
  +++ BCELLXSQLParser.java	2001/11/12 23:09:56	1.4
  @@ -24,7 +24,7 @@
   import org.apache.avalon.db.transport.InsertRequest;
   import org.apache.avalon.db.transport.CreateViewRequest;
   import org.apache.avalon.db.data.Column;
  -import org.apache.avalon.db.data.impl.DefaultColumn;
  +import org.apache.avalon.db.data.impl.AbstractColumn;
   import org.apache.avalon.framework.component.ComponentManager;
   import org.apache.avalon.framework.component.ComponentException;
   import org.apache.bcel.generic.InstructionFactory;
  @@ -124,7 +124,7 @@
                           String fieldName = columnNode.getAttributes().getNamedItem("name").getNodeValue();
                           String sqlFieldType = columnNode.getAttributes().getNamedItem("type").getNodeValue();
                           Type fieldType = bcelHelper.getType(sqlFieldType);
  -                        Column column = new DefaultColumn(fieldName, sqlFieldType, fieldType.toString());
  +                        Column column = null; // TODO new AbstractColumn(fieldName, sqlFieldType, fieldType.toString());
   
                           columns.add(column);
                           bcelHelper.createFieldAndSetter(cp, cg, factory, fieldType, fieldName, tableName);
  
  
  
  1.10      +3 -3      jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/bcel/parser/BCELSQLParser.java
  
  Index: BCELSQLParser.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/bcel/parser/BCELSQLParser.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- BCELSQLParser.java	2001/11/11 21:44:47	1.9
  +++ BCELSQLParser.java	2001/11/12 23:09:56	1.10
  @@ -19,7 +19,7 @@
   import org.apache.avalon.db.transport.InsertRequest;
   import org.apache.avalon.db.transport.CreateViewRequest;
   import org.apache.avalon.db.utils.StringUtils;
  -import org.apache.avalon.db.data.impl.DefaultColumn;
  +import org.apache.avalon.db.data.impl.AbstractColumn;
   import org.apache.avalon.db.data.Column;
   import org.apache.avalon.db.data.Table;
   import org.apache.avalon.db.bcel.actions.BCELCreateTable;
  @@ -40,7 +40,7 @@
    *
    *
    * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
  - * @version $Revision: 1.9 $
  + * @version $Revision: 1.10 $
    */
   public class BCELSQLParser extends AbstractSQLParser {
   
  @@ -102,7 +102,7 @@
               String fieldName = st2.nextToken();
               String sqlFieldType = st2.nextToken();
               Type fieldType = bcelHelper.getType(sqlFieldType);
  -            Column column = new DefaultColumn(fieldName, sqlFieldType, fieldType.toString());
  +            Column column = null; // TODO new AbstractColumn(fieldName, sqlFieldType, fieldType.toString());
   
               columns.add(column);
               bcelHelper.createFieldAndSetter(cp, cg, factory, fieldType, fieldName, tableName);
  
  
  
  1.6       +4 -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.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- Column.java	2001/11/09 16:36:44	1.5
  +++ Column.java	2001/11/12 23:09:56	1.6
  @@ -14,9 +14,12 @@
    *
    * @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.5 $
  + * @version * $Revision: 1.6 $
    */
   public interface Column extends Nameable {
  +
  +    void test(Object obj) throws ValidationException;
  +
       String getSQLType();
       String getJavaType();
       int getColumnDisplaySize();
  
  
  
  1.1                  jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/AbstractColumn.java
  
  Index: AbstractColumn.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.Table;
  import org.apache.avalon.db.data.Queryable;
  import org.apache.avalon.db.data.Column;
  
  
  /**
   * Class AbstractColumn
   *
   *
   * @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 abstract class AbstractColumn implements Column {
  
      protected String mName;
      protected String mSqlType;
      protected String mJavaType;
  
      /**
       * Constructor AbstractColumn
       *
       *
       * @param name
       * @param sqlType
       * @param javaType
       *
       */
      public AbstractColumn(String name, String sqlType, String javaType) {
  
          mName = name;
          mSqlType = sqlType;
          mJavaType = javaType;
      }
  
      /**
       * Method getSQLType
       *
       *
       * @return
       *
       */
      public String getSQLType() {
          return mSqlType;
      }
  
      /**
       * Method getName
       *
       *
       * @return
       *
       */
      public String getName() {
          return mName;
      }
  
      /**
       * Method getJavaType
       *
       *
       * @return
       *
       */
      public String getJavaType() {
          return mJavaType;
      }
  
      /** methods for the metadata */
      public int getColumnDisplaySize() {
          //ToDo: implementation
          return 0;
      }
  
      public String getColumnLabel() {
          return mName;
      }
  
      public String getColumnName() {
          return mName;
      }
  
      public int getColumnType() {
          //ToDo: implementation
          return 0;
      }
  
      public String getColumnTypeName() {
          return mSqlType;
      }
  
      public int getPrecision() {
          //ToDo: implementation
          return 0;
      }
  
      public int getScale() {
          //ToDo: implementation
          return 0;
      }
  
      public String getSchemaName() {
          //ToDo: implementation
          return null;
      }
  
      public String getCatalogName() {
          //ToDo: implementation
          return null;
      }
  
      public String getColumnClassName() {
          //ToDo: implementation
          return null;
      }
  
      public String getTableName() {
          //ToDo: implementation
          return null;
      }
  
      public boolean isAutoIncrement() {
          //ToDo: implementation
          return false;
      }
  
      public boolean isCaseSensitive() {
          //ToDo: implementation
          return false;
      }
  
      public boolean isCurrency() {
          //ToDo: implementation
          return false;
      }
  
      public boolean isDefinitelyWritable() {
          //ToDo: implementation
          return false;
      }
  
      public int isNullable() {
          //ToDo: implementation
          return 0;
      }
  
      public boolean isReadOnly() {
          //ToDo: implementation
          return false;
      }
  
      public boolean isSearchable() {
          //ToDo: implementation
          return false;
      }
  
      public boolean isSigned() {
          //ToDo: implementation
          return false;
      }
  
      public boolean isWritable() {
          //ToDo: implementation
          return false;
       }
  
  }
  
  
  
  1.1                  jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/VarCharColumn.java
  
  Index: VarCharColumn.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.Table;
  import org.apache.avalon.db.data.Queryable;
  import org.apache.avalon.db.data.Column;
  import org.apache.avalon.db.data.ValidationException;
  
  
  /**
   * Class VarCharColumn
   *
   *
   * @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 VarCharColumn extends AbstractColumn {
  
      private int mMaxLength;
  
      /**
       * Constructor VarCharColumn
       *
       *
       * @param name
       * @param maxLength
       * @param javaType
       *
       */
      public VarCharColumn(String name, int maxLength) {
          super(name,"varchar",String.class.getName());
          mMaxLength = maxLength;
      }
  
      public void test(Object obj) throws ValidationException {
          String str = (String) obj;
          if (str.length() > mMaxLength) {
              throw new ValidationException("String " + mName + "at is too long at " + str.length());
          }
      }
  
  
  
  }
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


RE: cvs commit: jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl AbstractColumn.java VarCharColumn.java DefaultColumn.java

Posted by Gerhard Froehlich <g-...@gmx.de>.
Hi Kasper,
that's something from the begining of the project.
ResultSetMetaData needs this information (JDBC 2.1).

Maybe that's a source remains

Cheers
Gerhard

>-----Original Message-----
>From: Kasper Nielsen [mailto:news@kav.dk]
>Sent: Wednesday, November 14, 2001 6:21 PM
>To: Avalon Developers List
>Subject: Re: cvs commit:
>jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/im
>pl AbstractColumn.java VarCharColumn.java DefaultColumn.java
>
>
>whats the difference between
>>       public boolean isReadOnly() {
>>           //ToDo: implementation
>>           return false;
>>       }
>>
>and
>
>>       public boolean isWritable() {
>>           //ToDo: implementation
>>           return false;
>>        }
>
>
>
>
>we might wanna call this isIndexed
>>       public boolean isSearchable() {
>>           //ToDo: implementation
>>           return false;
>>       }
>>
>
>
>- Kasper
>
>----- Original Message ----- >
>>   1.1
>jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/A
>bstractColumn.java
>>
>>   Index: AbstractColumn.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.Table;
>>   import org.apache.avalon.db.data.Queryable;
>>   import org.apache.avalon.db.data.Column;
>>
>>
>>   /**
>>    * Class AbstractColumn
>>    *
>>    *
>>    * @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 abstract class AbstractColumn implements Column {
>>
>>       protected String mName;
>>       protected String mSqlType;
>>       protected String mJavaType;
>>
>>       /**
>>        * Constructor AbstractColumn
>>        *
>>        *
>>        * @param name
>>        * @param sqlType
>>        * @param javaType
>>        *
>>        */
>>       public AbstractColumn(String name, String sqlType, String javaType)
>{
>>
>>           mName = name;
>>           mSqlType = sqlType;
>>           mJavaType = javaType;
>>       }
>>
>>       /**
>>        * Method getSQLType
>>        *
>>        *
>>        * @return
>>        *
>>        */
>>       public String getSQLType() {
>>           return mSqlType;
>>       }
>>
>>       /**
>>        * Method getName
>>        *
>>        *
>>        * @return
>>        *
>>        */
>>       public String getName() {
>>           return mName;
>>       }
>>
>>       /**
>>        * Method getJavaType
>>        *
>>        *
>>        * @return
>>        *
>>        */
>>       public String getJavaType() {
>>           return mJavaType;
>>       }
>>
>>       /** methods for the metadata */
>>       public int getColumnDisplaySize() {
>>           //ToDo: implementation
>>           return 0;
>>       }
>>
>>       public String getColumnLabel() {
>>           return mName;
>>       }
>>
>>       public String getColumnName() {
>>           return mName;
>>       }
>>
>>       public int getColumnType() {
>>           //ToDo: implementation
>>           return 0;
>>       }
>>
>>       public String getColumnTypeName() {
>>           return mSqlType;
>>       }
>>
>>       public int getPrecision() {
>>           //ToDo: implementation
>>           return 0;
>>       }
>>
>>       public int getScale() {
>>           //ToDo: implementation
>>           return 0;
>>       }
>>
>>       public String getSchemaName() {
>>           //ToDo: implementation
>>           return null;
>>       }
>>
>>       public String getCatalogName() {
>>           //ToDo: implementation
>>           return null;
>>       }
>>
>>       public String getColumnClassName() {
>>           //ToDo: implementation
>>           return null;
>>       }
>>
>>       public String getTableName() {
>>           //ToDo: implementation
>>           return null;
>>       }
>>
>>       public boolean isAutoIncrement() {
>>           //ToDo: implementation
>>           return false;
>>       }
>>
>>       public boolean isCaseSensitive() {
>>           //ToDo: implementation
>>           return false;
>>       }
>>
>>       public boolean isCurrency() {
>>           //ToDo: implementation
>>           return false;
>>       }
>>
>>       public boolean isDefinitelyWritable() {
>>           //ToDo: implementation
>>           return false;
>>       }
>>
>>       public int isNullable() {
>>           //ToDo: implementation
>>           return 0;
>>       }
>>
>>       public boolean isReadOnly() {
>>           //ToDo: implementation
>>           return false;
>>       }
>>
>>       public boolean isSearchable() {
>>           //ToDo: implementation
>>           return false;
>>       }
>>
>>       public boolean isSigned() {
>>           //ToDo: implementation
>>           return false;
>>       }
>>
>>       public boolean isWritable() {
>>           //ToDo: implementation
>>           return false;
>>        }
>>
>>   }
>>
>>
>>
>>   1.1
>jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/V
>arCharColumn.java
>>
>>   Index: VarCharColumn.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.Table;
>>   import org.apache.avalon.db.data.Queryable;
>>   import org.apache.avalon.db.data.Column;
>>   import org.apache.avalon.db.data.ValidationException;
>>
>>
>>   /**
>>    * Class VarCharColumn
>>    *
>>    *
>>    * @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 VarCharColumn extends AbstractColumn {
>>
>>       private int mMaxLength;
>>
>>       /**
>>        * Constructor VarCharColumn
>>        *
>>        *
>>        * @param name
>>        * @param maxLength
>>        * @param javaType
>>        *
>>        */
>>       public VarCharColumn(String name, int maxLength) {
>>           super(name,"varchar",String.class.getName());
>>           mMaxLength = maxLength;
>>       }
>>
>>       public void test(Object obj) throws ValidationException {
>>           String str = (String) obj;
>>           if (str.length() > mMaxLength) {
>>               throw new ValidationException("String " + mName + "at is too
>long at " + str.length());
>>           }
>>       }
>>
>>
>>
>>   }
>>
>>
>>
>>
>> --
>> To unsubscribe, e-mail:
><ma...@jakarta.apache.org>
>> For additional commands, e-mail:
><ma...@jakarta.apache.org>
>>
>
>
>
>--
>To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
>For additional commands, e-mail: <ma...@jakarta.apache.org>
>
>


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: cvs commit: jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl AbstractColumn.java VarCharColumn.java DefaultColumn.java

Posted by Kasper Nielsen <ne...@kav.dk>.
whats the difference between
>       public boolean isReadOnly() {
>           //ToDo: implementation
>           return false;
>       }
>
and

>       public boolean isWritable() {
>           //ToDo: implementation
>           return false;
>        }




we might wanna call this isIndexed
>       public boolean isSearchable() {
>           //ToDo: implementation
>           return false;
>       }
>


- Kasper

----- Original Message ----- >
>   1.1
jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/A
bstractColumn.java
>
>   Index: AbstractColumn.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.Table;
>   import org.apache.avalon.db.data.Queryable;
>   import org.apache.avalon.db.data.Column;
>
>
>   /**
>    * Class AbstractColumn
>    *
>    *
>    * @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 abstract class AbstractColumn implements Column {
>
>       protected String mName;
>       protected String mSqlType;
>       protected String mJavaType;
>
>       /**
>        * Constructor AbstractColumn
>        *
>        *
>        * @param name
>        * @param sqlType
>        * @param javaType
>        *
>        */
>       public AbstractColumn(String name, String sqlType, String javaType)
{
>
>           mName = name;
>           mSqlType = sqlType;
>           mJavaType = javaType;
>       }
>
>       /**
>        * Method getSQLType
>        *
>        *
>        * @return
>        *
>        */
>       public String getSQLType() {
>           return mSqlType;
>       }
>
>       /**
>        * Method getName
>        *
>        *
>        * @return
>        *
>        */
>       public String getName() {
>           return mName;
>       }
>
>       /**
>        * Method getJavaType
>        *
>        *
>        * @return
>        *
>        */
>       public String getJavaType() {
>           return mJavaType;
>       }
>
>       /** methods for the metadata */
>       public int getColumnDisplaySize() {
>           //ToDo: implementation
>           return 0;
>       }
>
>       public String getColumnLabel() {
>           return mName;
>       }
>
>       public String getColumnName() {
>           return mName;
>       }
>
>       public int getColumnType() {
>           //ToDo: implementation
>           return 0;
>       }
>
>       public String getColumnTypeName() {
>           return mSqlType;
>       }
>
>       public int getPrecision() {
>           //ToDo: implementation
>           return 0;
>       }
>
>       public int getScale() {
>           //ToDo: implementation
>           return 0;
>       }
>
>       public String getSchemaName() {
>           //ToDo: implementation
>           return null;
>       }
>
>       public String getCatalogName() {
>           //ToDo: implementation
>           return null;
>       }
>
>       public String getColumnClassName() {
>           //ToDo: implementation
>           return null;
>       }
>
>       public String getTableName() {
>           //ToDo: implementation
>           return null;
>       }
>
>       public boolean isAutoIncrement() {
>           //ToDo: implementation
>           return false;
>       }
>
>       public boolean isCaseSensitive() {
>           //ToDo: implementation
>           return false;
>       }
>
>       public boolean isCurrency() {
>           //ToDo: implementation
>           return false;
>       }
>
>       public boolean isDefinitelyWritable() {
>           //ToDo: implementation
>           return false;
>       }
>
>       public int isNullable() {
>           //ToDo: implementation
>           return 0;
>       }
>
>       public boolean isReadOnly() {
>           //ToDo: implementation
>           return false;
>       }
>
>       public boolean isSearchable() {
>           //ToDo: implementation
>           return false;
>       }
>
>       public boolean isSigned() {
>           //ToDo: implementation
>           return false;
>       }
>
>       public boolean isWritable() {
>           //ToDo: implementation
>           return false;
>        }
>
>   }
>
>
>
>   1.1
jakarta-avalon-cornerstone/apps/db/src/java/org/apache/avalon/db/data/impl/V
arCharColumn.java
>
>   Index: VarCharColumn.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.Table;
>   import org.apache.avalon.db.data.Queryable;
>   import org.apache.avalon.db.data.Column;
>   import org.apache.avalon.db.data.ValidationException;
>
>
>   /**
>    * Class VarCharColumn
>    *
>    *
>    * @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 VarCharColumn extends AbstractColumn {
>
>       private int mMaxLength;
>
>       /**
>        * Constructor VarCharColumn
>        *
>        *
>        * @param name
>        * @param maxLength
>        * @param javaType
>        *
>        */
>       public VarCharColumn(String name, int maxLength) {
>           super(name,"varchar",String.class.getName());
>           mMaxLength = maxLength;
>       }
>
>       public void test(Object obj) throws ValidationException {
>           String str = (String) obj;
>           if (str.length() > mMaxLength) {
>               throw new ValidationException("String " + mName + "at is too
long at " + str.length());
>           }
>       }
>
>
>
>   }
>
>
>
>
> --
> To unsubscribe, e-mail:
<ma...@jakarta.apache.org>
> For additional commands, e-mail:
<ma...@jakarta.apache.org>
>



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>