/* * @(#)DataTruncation.java 1.22 03/12/19 * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ package java.sql; /** * An exception that reports a * DataTruncation warning (on reads) or throws a DataTruncation exception * (on writes) when JDBC unexpectedly truncates a data value. * *

The SQLstate for a DataTruncation is 01004. */ public class DataTruncation extends SQLWarning { /** * Creates a DataTruncation object * with the SQLState initialized * to 01004, the reason set to "Data truncation", the * vendorCode set to the SQLException default, and * the other fields set to the given values. * * @param index The index of the parameter or column value * @param parameter true if a parameter value was truncated * @param read true if a read was truncated * @param dataSize the original size of the data * @param transferSize the size after truncation */ public DataTruncation(int index, boolean parameter, boolean read, int dataSize, int transferSize) { super("Data truncation", "01004"); this.index = index; this.parameter = parameter; this.read = read; this.dataSize = dataSize; this.transferSize = transferSize; DriverManager.println(" DataTruncation: index(" + index + ") parameter(" + parameter + ") read(" + read + ") data size(" + dataSize + ") transfer size(" + transferSize + ")"); } /** * Retrieves the index of the column or parameter that was truncated. * *

This may be -1 if the column or parameter index is unknown, in * which case the parameter and read fields should be ignored. * * @return the index of the truncated paramter or column value */ public int getIndex() { return index; } /** * Indicates whether the value truncated was a parameter value or * a column value. * * @return true if the value truncated was a parameter; * false if it was a column value */ public boolean getParameter() { return parameter; } /** * Indicates whether or not the value was truncated on a read. * * @return true if the value was truncated when read from * the database; false if the data was truncated on a write */ public boolean getRead() { return read; } /** * Gets the number of bytes of data that should have been transferred. * This number may be approximate if data conversions were being * performed. The value may be -1 if the size is unknown. * * @return the number of bytes of data that should have been transferred */ public int getDataSize() { return dataSize; } /** * Gets the number of bytes of data actually transferred. * The value may be -1 if the size is unknown. * * @return the number of bytes of data actually transferred */ public int getTransferSize() { return transferSize; } /** * @serial */ private int index; /** * @serial */ private boolean parameter; /** * @serial */ private boolean read; /** * @serial */ private int dataSize; /** * @serial */ private int transferSize; }