01: /*
02:
03: Derby - Class org.apache.derby.impl.store.raw.data.LongColumnException
04:
05: Licensed to the Apache Software Foundation (ASF) under one or more
06: contributor license agreements. See the NOTICE file distributed with
07: this work for additional information regarding copyright ownership.
08: The ASF licenses this file to you under the Apache License, Version 2.0
09: (the "License"); you may not use this file except in compliance with
10: the License. You may obtain a copy of the License at
11:
12: http://www.apache.org/licenses/LICENSE-2.0
13:
14: Unless required by applicable law or agreed to in writing, software
15: distributed under the License is distributed on an "AS IS" BASIS,
16: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17: See the License for the specific language governing permissions and
18: limitations under the License.
19:
20: */
21:
22: package org.apache.derby.impl.store.raw.data;
23:
24: import org.apache.derby.iapi.error.StandardException;
25:
26: import org.apache.derby.iapi.types.DataValueDescriptor;
27:
28: import org.apache.derby.iapi.services.io.DynamicByteArrayOutputStream;
29:
30: /**
31: An exception used to pass a specfic "error code" through
32: various layers of software.
33: */
34: public class LongColumnException extends StandardException {
35:
36: // YYZ? may need to make it a DynamicByteArrayOutputStream, or a ByteArray
37: protected DynamicByteArrayOutputStream logBuffer;
38: protected int nextColumn;
39: protected int realSpaceOnPage;
40: protected Object column;
41:
42: /*
43: ** Constructor
44: */
45: public LongColumnException() {
46: super ("lngcl.U");
47: }
48:
49: public void setColumn(Object column) {
50: this .column = column;
51: }
52:
53: public void setExceptionInfo(DynamicByteArrayOutputStream out,
54: int nextColumn, int realSpaceOnPage) {
55: this .logBuffer = out;
56: this .nextColumn = nextColumn;
57: this .realSpaceOnPage = realSpaceOnPage;
58:
59: // buffer length can be calculated:
60: // out.getPosition() - out.getBeginPosition()
61: }
62:
63: public Object getColumn() {
64: return this .column;
65: }
66:
67: public DynamicByteArrayOutputStream getLogBuffer() {
68: return this .logBuffer;
69: }
70:
71: public int getNextColumn() {
72: return this .nextColumn;
73: }
74:
75: public int getRealSpaceOnPage() {
76: return this.realSpaceOnPage;
77: }
78: }
|