History

My first initial commit with all of mine experimental changes.

Dmitry Kabak (userdima committed 13 years ago

Commit d37b88d1 parent 3f5b46618352 files · +2598093 −-8690Browse files

Showing the changes to java/pkg/java/sql/DataTruncation.java (1 of 18352 files). Show all

Unified · Split

java/pkg/java/sql/DataTruncation.java+188−0
@@ -0,0 +1,188 @@
1+/*
2+ * Copyright (c) 1996, 2005, Oracle and/or its affiliates. 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. Oracle designates this
8+ * particular file as subject to the "Classpath" exception as provided
9+ * by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22+ * or visit www.oracle.com if you need additional information or have any
23+ * 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+}