KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > hsqldb > scriptio > ScriptWriterBinary


1 /* Copyright (c) 2001-2005, The HSQL Development Group
2  * All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions are met:
6  *
7  * Redistributions of source code must retain the above copyright notice, this
8  * list of conditions and the following disclaimer.
9  *
10  * Redistributions in binary form must reproduce the above copyright notice,
11  * this list of conditions and the following disclaimer in the documentation
12  * and/or other materials provided with the distribution.
13  *
14  * Neither the name of the HSQL Development Group nor the names of its
15  * contributors may be used to endorse or promote products derived from this
16  * software without specific prior written permission.
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21  * ARE DISCLAIMED. IN NO EVENT SHALL HSQL DEVELOPMENT GROUP, HSQLDB.ORG,
22  * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
26  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29  */

30
31
32 package org.hsqldb.scriptio;
33
34 import java.io.IOException JavaDoc;
35
36 import org.hsqldb.Database;
37 import org.hsqldb.HsqlException;
38 import org.hsqldb.NumberSequence;
39 import org.hsqldb.Result;
40 import org.hsqldb.Session;
41 import org.hsqldb.Table;
42 import org.hsqldb.rowio.RowOutputBinary;
43
44 /**
45  * @author fredt@users
46  * @since 1.8.0
47  * @version 1.7.2
48  */

49 class ScriptWriterBinary extends ScriptWriterBase {
50
51     RowOutputBinary rowOut;
52
53     ScriptWriterBinary(Database db, String JavaDoc file, boolean includeCached,
54                        boolean newFile) throws HsqlException {
55         super(db, file, includeCached, newFile, false);
56     }
57
58     protected void initBuffers() {
59         rowOut = new RowOutputBinary();
60     }
61
62     protected void writeSingleColumnResult(Result r)
63     throws IOException JavaDoc, HsqlException {
64         Result.write(r, rowOut, fileStreamOut);
65     }
66
67     // int : row size (0 if no more rows) ,
68
// RowInput/OutputBinary : row (column values)
69
protected void writeRow(Session session, Table t,
70                             Object JavaDoc[] data) throws IOException JavaDoc, HsqlException {
71
72         rowOut.reset();
73         rowOut.writeRow(data, t);
74         fileStreamOut.write(rowOut.getBuffer(), 0, rowOut.size());
75
76         tableRowCount++;
77     }
78
79     // int : headersize (0 if no more tables), String : tablename, int : operation,
80
protected void writeTableInit(Table t) throws HsqlException, IOException JavaDoc {
81
82         tableRowCount = 0;
83
84         rowOut.reset();
85         rowOut.writeSize(0);
86         rowOut.writeString(t.getName().name);
87         rowOut.writeIntData(INSERT_WITH_SCHEMA);
88         rowOut.writeString(t.getSchemaName());
89         rowOut.writeIntData(rowOut.size(), 0);
90         fileStreamOut.write(rowOut.getBuffer(), 0, rowOut.size());
91     }
92
93     protected void writeTableTerm(Table t) throws IOException JavaDoc {
94
95         rowOut.reset();
96         rowOut.writeSize(0);
97         rowOut.writeIntData(this.tableRowCount);
98         fileStreamOut.write(rowOut.getBuffer(), 0, rowOut.size());
99     }
100
101     protected void writeDataTerm() throws IOException JavaDoc {
102
103         rowOut.reset();
104         rowOut.writeSize(0);
105         fileStreamOut.write(rowOut.getBuffer(), 0, rowOut.size());
106     }
107
108     public void writeLogStatement(Session session,
109                                   String JavaDoc s)
110                                   throws IOException JavaDoc, HsqlException {}
111
112     protected void addSessionId(Session session) throws IOException JavaDoc {}
113
114     public void writeDeleteStatement(Session session, Table table,
115                                      Object JavaDoc[] ddata)
116                                      throws HsqlException, IOException JavaDoc {}
117
118     public void writeSequenceStatement(Session session,
119                                        NumberSequence seq)
120                                        throws HsqlException, IOException JavaDoc {}
121
122     public void writeInsertStatement(Session session, Table table,
123                                      Object JavaDoc[] data)
124                                      throws HsqlException, IOException JavaDoc {}
125
126     public void writeCommitStatement(Session session)
127     throws HsqlException, IOException JavaDoc {}
128 }
129
Popular Tags