TrueZIP Kernel 7.0-rc1

de.schlichtherle.truezip.socket
Class IOCache.CacheOutputSocket

java.lang.Object
  extended by de.schlichtherle.truezip.socket.IOSocket<E,Entry>
      extended by de.schlichtherle.truezip.socket.OutputSocket<Entry>
          extended by de.schlichtherle.truezip.socket.IOCache.CacheOutputSocket
Enclosing class:
IOCache

private final class IOCache.CacheOutputSocket
extends OutputSocket<Entry>


Field Summary
private  IOCache.Buffer buffer
           
 
Constructor Summary
private IOCache.CacheOutputSocket()
           
 
Method Summary
private  OutputSocket<?> getBoundSocket()
           
private  IOCache.Buffer getBuffer()
           
 Entry getLocalTarget()
          Returns the local target for I/O operations.
 OutputStream newOutputStream()
          Returns a new output stream for writing bytes to the local target.
 
Methods inherited from class de.schlichtherle.truezip.socket.OutputSocket
bind, connect, getPeerTarget
 
Methods inherited from class de.schlichtherle.truezip.socket.IOSocket
copy, equals, hashCode, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

buffer

@CheckForNull
private volatile IOCache.Buffer buffer
Constructor Detail

IOCache.CacheOutputSocket

private IOCache.CacheOutputSocket()
Method Detail

getLocalTarget

public Entry getLocalTarget()
                     throws IOException
Description copied from class: IOSocket
Returns the local target for I/O operations.

Note that this interface contract does not state any other terms or conditions for the returned object. In particular, clients need to consider that multiple invocations of this method could return different objects (e.g. defensive copies) which may even fail the Object.equals(java.lang.Object) test. On the other hand, implementations need to consider that clients could attempt to change the state of the returned object in arbitrary manner. Consequently, the result of doing so is undefined, too. In particular, a subsequent I/O operation may not reflect the change or may even fail. Sub-interfaces or implementations may add additional terms and conditions in order to resolve these potential issues.

Specified by:
getLocalTarget in class IOSocket<Entry,Entry>
Returns:
The local target for I/O operations.
Throws:
IOException

newOutputStream

public OutputStream newOutputStream()
                             throws IOException
Description copied from class: OutputSocket
Returns a new output stream for writing bytes to the local target.

Implementations must enable calling this method any number of times. Furthermore, the returned output 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).

Specified by:
newOutputStream in class OutputSocket<Entry>
Returns:
A new output stream.
Throws:
FileNotFoundException - if the local target is not accessible for some reason.
IOException - on any other exceptional condition.

getBoundSocket

private OutputSocket<?> getBoundSocket()
                                throws IOException
Throws:
IOException

getBuffer

private IOCache.Buffer getBuffer()
                          throws IOException
Throws:
IOException

TrueZIP Kernel 7.0-rc1

Copyright © 2005-2011 Schlichtherle IT Services. All Rights Reserved.