|
TrueZIP Kernel 7.0-rc2 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectde.schlichtherle.truezip.socket.IOSocket<E,Entry>
de.schlichtherle.truezip.socket.InputSocket<E>
E - the type of the local target
for I/O operations.@NotThreadSafe @DefaultAnnotation(value=edu.umd.cs.findbugs.annotations.NonNull.class) public abstract class InputSocket<E extends Entry>
An abstract factory for input streams and read only files for reading bytes from its local target.
Note that the entity relationship between input sockets and output sockets is n:1, i.e. any input socket can have at most one peer output socket, but it may be the peer of many other output sockets.
OutputSocket| Field Summary | |
|---|---|
private OutputSocket<?> |
peer
|
| Constructor Summary | |
|---|---|
InputSocket()
|
|
| Method Summary | |
|---|---|
InputSocket<E> |
bind(InputSocket<?> to)
Binds the peer target of the given socket to this socket. |
(package private) InputSocket<E> |
connect(OutputSocket<?> newPeer)
Connects this input socket to the given peer output socket. |
Entry |
getPeerTarget()
Returns the peer target for I/O operations. |
InputStream |
newInputStream()
Returns a new input stream for reading bytes from the local target. |
abstract ReadOnlyFile |
newReadOnlyFile()
Optional: Returns a new read only file for reading bytes from the local target in arbitrary order. |
| Methods inherited from class de.schlichtherle.truezip.socket.IOSocket |
|---|
copy, equals, getLocalTarget, hashCode, toString |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
@CheckForNull private OutputSocket<?> peer
| Constructor Detail |
|---|
public InputSocket()
| Method Detail |
|---|
@Nullable
public Entry getPeerTarget()
throws IOException
The same considerations as for IOSocket.getLocalTarget() apply here, too.
The peer target is null if and only if this socket is not
connect(de.schlichtherle.truezip.socket.OutputSocket>)ed to another socket.
getPeerTarget in class IOSocket<E extends Entry,Entry>IOException
public final InputSocket<E> bind(@CheckForNull
InputSocket<?> to)
to - the input socket which has a peer target to share.
this
final InputSocket<E> connect(@CheckForNull
OutputSocket<?> newPeer)
newPeer - the nullable peer output socket to connect to.
this
public abstract ReadOnlyFile newReadOnlyFile()
throws IOException
local target in arbitrary order.
If this method is supported, implementations must enable calling it any number of times. Furthermore, the returned read only file should not be buffered. Buffering should be addressed by client applications instead.
UnsupportedOperationException - if this operation is not supported
by the implementation.
FileNotFoundException - if the local target does not exist or is
not accessible for some reason.
IOException - on any other exceptional condition.
public InputStream newInputStream()
throws IOException
local target.
Implementations must enable calling this method any number of times.
Furthermore, the returned input stream should not be buffered.
Buffering should be addressed by the caller instead - see
IOSocket.copy(de.schlichtherle.truezip.socket.InputSocket>, de.schlichtherle.truezip.socket.OutputSocket>).
The implementation in the class InputSocket calls
newReadOnlyFile() and wraps the resulting object in a new
ReadOnlyFileInputStream as an adapter.
FileNotFoundException - if the local target does not exist or is
not accessible for some reason.
IOException - on any other exceptional condition.
|
TrueZIP Kernel 7.0-rc2 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||