01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17:
18: package java.io;
19:
20: /**
21: * Streams to be used with serialization to write objects must implement this
22: * interface. ObjectOutputStream is one example.
23: *
24: * @see ObjectOutputStream
25: * @see ObjectInput
26: */
27: public interface ObjectOutput extends DataOutput {
28: /**
29: * Close this ObjectOutput. Concrete implementations of this class should
30: * free any resources during close.
31: *
32: * @throws IOException
33: * If an error occurs attempting to close this ObjectOutput.
34: */
35: public void close() throws IOException;
36:
37: /**
38: * Flush this ObjectOutput. Concrete implementations of this class should
39: * ensure any pending writes are written out when this method is envoked.
40: *
41: * @throws IOException
42: * If an error occurs attempting to flush this ObjectOutput.
43: */
44: public void flush() throws IOException;
45:
46: /**
47: * Writes the entire contents of the byte array <code>buffer</code> to
48: * this ObjectOutput.
49: *
50: * @param buffer
51: * the buffer to be written
52: *
53: * @throws java.io.IOException
54: * If an error occurs attempting to write to this ObjectOutput.
55: */
56: public void write(byte[] buffer) throws IOException;
57:
58: /**
59: * Writes <code>count</code> <code>bytes</code> from this byte array
60: * <code>buffer</code> starting at offset <code>index</code> to this
61: * ObjectOutput.
62: *
63: * @param buffer
64: * the buffer to be written
65: * @param offset
66: * offset in buffer to get bytes
67: * @param count
68: * number of bytes in buffer to write
69: *
70: * @throws java.io.IOException
71: * If an error occurs attempting to write to this ObjectOutput.
72: */
73: public void write(byte[] buffer, int offset, int count)
74: throws IOException;
75:
76: /**
77: * Writes the specified int <code>value</code> to this ObjectOutput.
78: *
79: * @param value
80: * the int to be written
81: *
82: * @throws java.io.IOException
83: * If an error occurs attempting to write to this ObjectOutput.
84: */
85: public void write(int value) throws IOException;
86:
87: /**
88: * Writes the specified object <code>obj</code> to this ObjectOutput.
89: *
90: * @param obj
91: * the object to be written
92: *
93: * @throws java.io.IOException
94: * If an error occurs attempting to write to this ObjectOutput.
95: */
96: public void writeObject(Object obj) throws IOException;
97: }
|