Save This Page
Home » openjdk-7 » java » sql » [javadoc | source]
    1   /*
    2    * Copyright 1996-2005 Sun Microsystems, Inc.  All Rights Reserved.
    3    * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    4    *
    5    * This code is free software; you can redistribute it and/or modify it
    6    * under the terms of the GNU General Public License version 2 only, as
    7    * published by the Free Software Foundation.  Sun designates this
    8    * particular file as subject to the "Classpath" exception as provided
    9    * by Sun in the LICENSE file that accompanied this code.
   10    *
   11    * This code is distributed in the hope that it will be useful, but WITHOUT
   12    * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   13    * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   14    * version 2 for more details (a copy is included in the LICENSE file that
   15    * accompanied this code).
   16    *
   17    * You should have received a copy of the GNU General Public License version
   18    * 2 along with this work; if not, write to the Free Software Foundation,
   19    * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   20    *
   21    * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
   22    * CA 95054 USA or visit www.sun.com if you need additional information or
   23    * have any questions.
   24    */
   25   
   26   package java.sql;
   27   
   28   /**
   29    * An exception  thrown as a <code>DataTruncation</code> exception
   30    * (on writes) or reported as a
   31    * <code>DataTruncation</code> warning (on reads)
   32    *  when a data values is unexpectedly truncated for reasons other than its having
   33    *  execeeded <code>MaxFieldSize</code>.
   34    *
   35    * <P>The SQLstate for a <code>DataTruncation</code> during read is <code>01004</code>.
   36    * <P>The SQLstate for a <code>DataTruncation</code> during write is <code>22001</code>.
   37    */
   38   
   39   public class DataTruncation extends SQLWarning {
   40   
   41       /**
   42        * Creates a <code>DataTruncation</code> object
   43        * with the SQLState initialized
   44        * to 01004 when <code>read</code> is set to <code>true</code> and 22001
   45        * when <code>read</code> is set to <code>false</code>,
   46        * the reason set to "Data truncation", the
   47        * vendor code set to 0, and
   48        * the other fields set to the given values.
   49        * The <code>cause</code> is not initialized, and may subsequently be
   50        * initialized by a call to the
   51        * {@link Throwable#initCause(java.lang.Throwable)} method.
   52        * <p>
   53        *
   54        * @param index The index of the parameter or column value
   55        * @param parameter true if a parameter value was truncated
   56        * @param read true if a read was truncated
   57        * @param dataSize the original size of the data
   58        * @param transferSize the size after truncation
   59        */
   60       public DataTruncation(int index, boolean parameter,
   61                             boolean read, int dataSize,
   62                             int transferSize) {
   63           super("Data truncation", read == true?"01004":"22001");
   64           this.index = index;
   65           this.parameter = parameter;
   66           this.read = read;
   67           this.dataSize = dataSize;
   68           this.transferSize = transferSize;
   69   
   70       }
   71   
   72       /**
   73        * Creates a <code>DataTruncation</code> object
   74        * with the SQLState initialized
   75        * to 01004 when <code>read</code> is set to <code>true</code> and 22001
   76        * when <code>read</code> is set to <code>false</code>,
   77        * the reason set to "Data truncation", the
   78        * vendor code set to 0, and
   79        * the other fields set to the given values.
   80        * <p>
   81        *
   82        * @param index The index of the parameter or column value
   83        * @param parameter true if a parameter value was truncated
   84        * @param read true if a read was truncated
   85        * @param dataSize the original size of the data
   86        * @param transferSize the size after truncation
   87        * @param cause the underlying reason for this <code>DataTruncation</code>
   88        * (which is saved for later retrieval by the <code>getCause()</code> method);
   89        * may be null indicating the cause is non-existent or unknown.
   90        *
   91        * @since 1.6
   92        */
   93       public DataTruncation(int index, boolean parameter,
   94                             boolean read, int dataSize,
   95                             int transferSize, Throwable cause) {
   96           super("Data truncation", read == true?"01004":"22001",cause);
   97           this.index = index;
   98           this.parameter = parameter;
   99           this.read = read;
  100           this.dataSize = dataSize;
  101           this.transferSize = transferSize;
  102       }
  103   
  104       /**
  105        * Retrieves the index of the column or parameter that was truncated.
  106        *
  107        * <P>This may be -1 if the column or parameter index is unknown, in
  108        * which case the <code>parameter</code> and <code>read</code> fields should be ignored.
  109        *
  110        * @return the index of the truncated paramter or column value
  111        */
  112       public int getIndex() {
  113           return index;
  114       }
  115   
  116       /**
  117        * Indicates whether the value truncated was a parameter value or
  118            * a column value.
  119        *
  120        * @return <code>true</code> if the value truncated was a parameter;
  121            *         <code>false</code> if it was a column value
  122        */
  123       public boolean getParameter() {
  124           return parameter;
  125       }
  126   
  127       /**
  128        * Indicates whether or not the value was truncated on a read.
  129        *
  130        * @return <code>true</code> if the value was truncated when read from
  131            *         the database; <code>false</code> if the data was truncated on a write
  132        */
  133       public boolean getRead() {
  134           return read;
  135       }
  136   
  137       /**
  138        * Gets the number of bytes of data that should have been transferred.
  139        * This number may be approximate if data conversions were being
  140        * performed.  The value may be <code>-1</code> if the size is unknown.
  141        *
  142        * @return the number of bytes of data that should have been transferred
  143        */
  144       public int getDataSize() {
  145           return dataSize;
  146       }
  147   
  148       /**
  149        * Gets the number of bytes of data actually transferred.
  150        * The value may be <code>-1</code> if the size is unknown.
  151        *
  152        * @return the number of bytes of data actually transferred
  153        */
  154       public int getTransferSize() {
  155           return transferSize;
  156       }
  157   
  158           /**
  159           * @serial
  160           */
  161       private int index;
  162   
  163           /**
  164           * @serial
  165           */
  166       private boolean parameter;
  167   
  168           /**
  169           * @serial
  170           */
  171       private boolean read;
  172   
  173           /**
  174           * @serial
  175           */
  176       private int dataSize;
  177   
  178           /**
  179           * @serial
  180           */
  181       private int transferSize;
  182   
  183       /**
  184        * @serial
  185        */
  186       private static final long serialVersionUID = 6464298989504059473L;
  187   
  188   }

Save This Page
Home » openjdk-7 » java » sql » [javadoc | source]