javax.microedition.io.StreamConnection Maven / Gradle / Ivy
/*
This is not an official specification document, and usage is restricted.
NOTICE
(c) 2005-2007 Sun Microsystems, Inc. All Rights Reserved.
Neither this file nor any files generated from it describe a complete
specification, and they may only be used as described below. For
example, no permission is given for you to incorporate this file, in
whole or in part, in an implementation of a Java specification.
Sun Microsystems Inc. owns the copyright in this file and it is provided
to you for informative, as opposed to normative, use. The file and any
files generated from it may be used to generate other informative
documentation, such as a unified set of documents of API signatures for
a platform that includes technologies expressed as Java APIs. The file
may also be used to produce "compilation stubs," which allow
applications to be compiled and validated for such platforms.
Any work generated from this file, such as unified javadocs or compiled
stub files, must be accompanied by this notice in its entirety.
This work corresponds to the API signatures of JSR 219: Foundation
Profile 1.1. In the event of a discrepency between this work and the
JSR 219 specification, which is available at
http://www.jcp.org/en/jsr/detail?id=219, the latter takes precedence.
*/
package javax.microedition.io;
import java.io.*;
/**
* This interface defines the capabilities that a stream connection
* must have.
*
* In a typical implementation of this interface (for instance
* in MIDP 2.0), all StreamConnections
have one
* underlying InputStream
and one OutputStream
.
* Opening a DataInputStream
counts as opening an
* InputStream
and opening a DataOutputStream
* counts as opening an OutputStream
. Trying to open
* another InputStream
or OutputStream
* causes an IOException
. Trying to open the
* InputStream
or OutputStream
after
* they have been closed causes an IOException
.
*
* NOTE of clarification for implementations supporting multiple streams:
* Each openXXXStream
(where XXX can be
* either Input or Output) call returns
* a unique new stream, not a copy of a single stream. When an opened
* stream is closed, a StreamConnection
implementation may
* choose to close the connection and close all other opened streams derived
* from that connection. When this choice of implementation happens, further
* access to the connection and streams will throw an IOException
.
* When this choice of implementation is not chosen, where one opened
* stream is closed, all other opened streams must remain open and any
* other openXXXStream
call is valid and must return a new
* unique XXXStream
.
*
*
* The methods of StreamConnection
are not
* synchronized. The only stream method that can be called safely
* in another thread is close
.
*
* @author Nik Shaylor, Antero Taivalsaari
* @version 12/17/01 (CLDC 1.1)
* @since CLDC 1.0
*/
public interface StreamConnection extends InputConnection, OutputConnection
{
}