File: ByteCoder.java

package info (click to toggle)
libglazedlists-java 1.9.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 3,024 kB
  • ctags: 4,252
  • sloc: java: 22,561; xml: 818; sh: 51; makefile: 5
file content (29 lines) | stat: -rw-r--r-- 1,111 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/* Glazed Lists                                                 (c) 2003-2006 */
/* http://publicobject.com/glazedlists/                      publicobject.com,*/
/*                                                     O'Dell Engineering Ltd.*/
package ca.odell.glazedlists.io;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

/**
 * An utility interface for converting Objects to bytes for storage or network
 * transport. For some common, general-purpose {@link ByteCoder}s, see the
 * {@link ca.odell.glazedlists.GlazedLists GlazedLists} factory class.
 *
 * @author <a href="mailto:jesse@swank.ca">Jesse Wilson</a>
 */
public interface ByteCoder {

    /**
     * Encode the specified Object over the specified {@link OutputStream}.
     */
    public void encode(Object source, OutputStream target) throws IOException;

    /**
     * Decode the Object from the specified {@link InputStream}. The stream should contain
     * exactly one Object and no further bytes before the end of the stream.
     */
    public Object decode(InputStream source) throws IOException;
}