Package org.kapott.hbci.comm

## Class LoggingSocket

- java.lang.Object
- - java.net.Socket
  - - javax.net.ssl.SSLSocket
    - - org.kapott.hbci.comm.LoggingSocket

All Implemented Interfaces:
  `java.io.Closeable`, `java.lang.AutoCloseable`

    public class LoggingSocket
    extends javax.net.ssl.SSLSocket

### Constructor Summary

Constructors
`LoggingSocket​(java.net.Socket targetSocket, java.io.OutputStream logger)`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addHandshakeCompletedListener​(javax.net.ssl.HandshakeCompletedListener arg0)`
`void` `bind​(java.net.SocketAddress bindpoint)`
`void` `close()`
`void` `connect​(java.net.SocketAddress endpoint)`
`void` `connect​(java.net.SocketAddress endpoint, int timeout)`
`boolean` `equals​(java.lang.Object obj)`
`java.nio.channels.SocketChannel` `getChannel()`
`java.lang.String[]` `getEnabledCipherSuites()`
`java.lang.String[]` `getEnabledProtocols()`
`boolean` `getEnableSessionCreation()`
`java.net.InetAddress` `getInetAddress()`
`java.io.InputStream` `getInputStream()`
`boolean` `getKeepAlive()`
`java.net.InetAddress` `getLocalAddress()`
`int` `getLocalPort()`
`java.net.SocketAddress` `getLocalSocketAddress()`
`boolean` `getNeedClientAuth()`
`boolean` `getOOBInline()`
`java.io.OutputStream` `getOutputStream()`
`int` `getPort()`
`int` `getReceiveBufferSize()`
`java.net.SocketAddress` `getRemoteSocketAddress()`
`boolean` `getReuseAddress()`
`int` `getSendBufferSize()`
`javax.net.ssl.SSLSession` `getSession()`
`int` `getSoLinger()`
`int` `getSoTimeout()`
`java.lang.String[]` `getSupportedCipherSuites()`
`java.lang.String[]` `getSupportedProtocols()`
`boolean` `getTcpNoDelay()`
`int` `getTrafficClass()`
`boolean` `getUseClientMode()`
`boolean` `getWantClientAuth()`
`int` `hashCode()`
`boolean` `isBound()`
`boolean` `isClosed()`
`boolean` `isConnected()`
`boolean` `isInputShutdown()`
`boolean` `isOutputShutdown()`
`void` `removeHandshakeCompletedListener​(javax.net.ssl.HandshakeCompletedListener arg0)`
`void` `sendUrgentData​(int data)`
`void` `setEnabledCipherSuites​(java.lang.String[] arg0)`
`void` `setEnabledProtocols​(java.lang.String[] arg0)`
`void` `setEnableSessionCreation​(boolean arg0)`
`void` `setKeepAlive​(boolean on)`
`void` `setNeedClientAuth​(boolean arg0)`
`void` `setOOBInline​(boolean on)`
`void` `setReceiveBufferSize​(int size)`
`void` `setReuseAddress​(boolean on)`
`void` `setSendBufferSize​(int size)`
`void` `setSoLinger​(boolean on, int linger)`
`void` `setSoTimeout​(int timeout)`
`void` `setTcpNoDelay​(boolean on)`
`void` `setTrafficClass​(int tc)`
`void` `setUseClientMode​(boolean arg0)`
`void` `setWantClientAuth​(boolean arg0)`
`void` `shutdownInput()`
`void` `shutdownOutput()`
`void` `startHandshake()`
`java.lang.String` `toString()`

### Methods inherited from class javax.net.ssl.SSLSocket

`getApplicationProtocol, getHandshakeApplicationProtocol, getHandshakeApplicationProtocolSelector, getHandshakeSession, getSSLParameters, setHandshakeApplicationProtocolSelector, setSSLParameters`

### Methods inherited from class java.net.Socket

`getOption, setOption, setPerformancePreferences, setSocketImplFactory, supportedOptions`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### LoggingSocket

    public LoggingSocket​(java.net.Socket targetSocket,
                         java.io.OutputStream logger)

### Method Detail

#### getInputStream

    public java.io.InputStream getInputStream()
                                       throws java.io.IOException

Overrides:
  `getInputStream` in class `java.net.Socket`
Throws:
  `java.io.IOException`

#### getOutputStream

    public java.io.OutputStream getOutputStream()
                                         throws java.io.IOException

Overrides:
  `getOutputStream` in class `java.net.Socket`
Throws:
  `java.io.IOException`

#### addHandshakeCompletedListener

    public void addHandshakeCompletedListener​(javax.net.ssl.HandshakeCompletedListener arg0)

Specified by:
  `addHandshakeCompletedListener` in class `javax.net.ssl.SSLSocket`

#### bind

    public void bind​(java.net.SocketAddress bindpoint)
              throws java.io.IOException

Overrides:
  `bind` in class `java.net.Socket`
Throws:
  `java.io.IOException`

#### close

    public void close()
               throws java.io.IOException

Specified by:
  `close` in interface `java.lang.AutoCloseable`
Specified by:
  `close` in interface `java.io.Closeable`
Overrides:
  `close` in class `java.net.Socket`
Throws:
  `java.io.IOException`

#### connect

    public void connect​(java.net.SocketAddress endpoint,
                        int timeout)
                 throws java.io.IOException

Overrides:
  `connect` in class `java.net.Socket`
Throws:
  `java.io.IOException`

#### connect

    public void connect​(java.net.SocketAddress endpoint)
                 throws java.io.IOException

Overrides:
  `connect` in class `java.net.Socket`
Throws:
  `java.io.IOException`

#### equals

    public boolean equals​(java.lang.Object obj)

Overrides:
  `equals` in class `java.lang.Object`

#### getChannel

    public java.nio.channels.SocketChannel getChannel()

Overrides:
  `getChannel` in class `java.net.Socket`

#### getEnabledCipherSuites

    public java.lang.String[] getEnabledCipherSuites()

Specified by:
  `getEnabledCipherSuites` in class `javax.net.ssl.SSLSocket`

#### getEnabledProtocols

    public java.lang.String[] getEnabledProtocols()

Specified by:
  `getEnabledProtocols` in class `javax.net.ssl.SSLSocket`

#### getEnableSessionCreation

    public boolean getEnableSessionCreation()

Specified by:
  `getEnableSessionCreation` in class `javax.net.ssl.SSLSocket`

#### getInetAddress

    public java.net.InetAddress getInetAddress()

Overrides:
  `getInetAddress` in class `java.net.Socket`

#### getKeepAlive

    public boolean getKeepAlive()
                         throws java.net.SocketException

Overrides:
  `getKeepAlive` in class `java.net.Socket`
Throws:
  `java.net.SocketException`

#### getLocalAddress

    public java.net.InetAddress getLocalAddress()

Overrides:
  `getLocalAddress` in class `java.net.Socket`

#### getLocalPort

    public int getLocalPort()

Overrides:
  `getLocalPort` in class `java.net.Socket`

#### getLocalSocketAddress

    public java.net.SocketAddress getLocalSocketAddress()

Overrides:
  `getLocalSocketAddress` in class `java.net.Socket`

#### getNeedClientAuth

    public boolean getNeedClientAuth()

Specified by:
  `getNeedClientAuth` in class `javax.net.ssl.SSLSocket`

#### getOOBInline

    public boolean getOOBInline()
                         throws java.net.SocketException

Overrides:
  `getOOBInline` in class `java.net.Socket`
Throws:
  `java.net.SocketException`

#### getPort

    public int getPort()

Overrides:
  `getPort` in class `java.net.Socket`

#### getReceiveBufferSize

    public int getReceiveBufferSize()
                             throws java.net.SocketException

Overrides:
  `getReceiveBufferSize` in class `java.net.Socket`
Throws:
  `java.net.SocketException`

#### getRemoteSocketAddress

    public java.net.SocketAddress getRemoteSocketAddress()

Overrides:
  `getRemoteSocketAddress` in class `java.net.Socket`

#### getReuseAddress

    public boolean getReuseAddress()
                            throws java.net.SocketException

Overrides:
  `getReuseAddress` in class `java.net.Socket`
Throws:
  `java.net.SocketException`

#### getSendBufferSize

    public int getSendBufferSize()
                          throws java.net.SocketException

Overrides:
  `getSendBufferSize` in class `java.net.Socket`
Throws:
  `java.net.SocketException`

#### getSession

    public javax.net.ssl.SSLSession getSession()

Specified by:
  `getSession` in class `javax.net.ssl.SSLSocket`

#### getSoLinger

    public int getSoLinger()
                    throws java.net.SocketException

Overrides:
  `getSoLinger` in class `java.net.Socket`
Throws:
  `java.net.SocketException`

#### getSoTimeout

    public int getSoTimeout()
                     throws java.net.SocketException

Overrides:
  `getSoTimeout` in class `java.net.Socket`
Throws:
  `java.net.SocketException`

#### getSupportedCipherSuites

    public java.lang.String[] getSupportedCipherSuites()

Specified by:
  `getSupportedCipherSuites` in class `javax.net.ssl.SSLSocket`

#### getSupportedProtocols

    public java.lang.String[] getSupportedProtocols()

Specified by:
  `getSupportedProtocols` in class `javax.net.ssl.SSLSocket`

#### getTcpNoDelay

    public boolean getTcpNoDelay()
                          throws java.net.SocketException

Overrides:
  `getTcpNoDelay` in class `java.net.Socket`
Throws:
  `java.net.SocketException`

#### getTrafficClass

    public int getTrafficClass()
                        throws java.net.SocketException

Overrides:
  `getTrafficClass` in class `java.net.Socket`
Throws:
  `java.net.SocketException`

#### getUseClientMode

    public boolean getUseClientMode()

Specified by:
  `getUseClientMode` in class `javax.net.ssl.SSLSocket`

#### getWantClientAuth

    public boolean getWantClientAuth()

Specified by:
  `getWantClientAuth` in class `javax.net.ssl.SSLSocket`

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `java.lang.Object`

#### isBound

    public boolean isBound()

Overrides:
  `isBound` in class `java.net.Socket`

#### isClosed

    public boolean isClosed()

Overrides:
  `isClosed` in class `java.net.Socket`

#### isConnected

    public boolean isConnected()

Overrides:
  `isConnected` in class `java.net.Socket`

#### isInputShutdown

    public boolean isInputShutdown()

Overrides:
  `isInputShutdown` in class `java.net.Socket`

#### isOutputShutdown

    public boolean isOutputShutdown()

Overrides:
  `isOutputShutdown` in class `java.net.Socket`

#### removeHandshakeCompletedListener

    public void removeHandshakeCompletedListener​(javax.net.ssl.HandshakeCompletedListener arg0)

Specified by:
  `removeHandshakeCompletedListener` in class `javax.net.ssl.SSLSocket`

#### sendUrgentData

    public void sendUrgentData​(int data)
                        throws java.io.IOException

Overrides:
  `sendUrgentData` in class `java.net.Socket`
Throws:
  `java.io.IOException`

#### setEnabledCipherSuites

    public void setEnabledCipherSuites​(java.lang.String[] arg0)

Specified by:
  `setEnabledCipherSuites` in class `javax.net.ssl.SSLSocket`

#### setEnabledProtocols

    public void setEnabledProtocols​(java.lang.String[] arg0)

Specified by:
  `setEnabledProtocols` in class `javax.net.ssl.SSLSocket`

#### setEnableSessionCreation

    public void setEnableSessionCreation​(boolean arg0)

Specified by:
  `setEnableSessionCreation` in class `javax.net.ssl.SSLSocket`

#### setKeepAlive

    public void setKeepAlive​(boolean on)
                      throws java.net.SocketException

Overrides:
  `setKeepAlive` in class `java.net.Socket`
Throws:
  `java.net.SocketException`

#### setNeedClientAuth

    public void setNeedClientAuth​(boolean arg0)

Specified by:
  `setNeedClientAuth` in class `javax.net.ssl.SSLSocket`

#### setOOBInline

    public void setOOBInline​(boolean on)
                      throws java.net.SocketException

Overrides:
  `setOOBInline` in class `java.net.Socket`
Throws:
  `java.net.SocketException`

#### setReceiveBufferSize

    public void setReceiveBufferSize​(int size)
                              throws java.net.SocketException

Overrides:
  `setReceiveBufferSize` in class `java.net.Socket`
Throws:
  `java.net.SocketException`

#### setReuseAddress

    public void setReuseAddress​(boolean on)
                         throws java.net.SocketException

Overrides:
  `setReuseAddress` in class `java.net.Socket`
Throws:
  `java.net.SocketException`

#### setSendBufferSize

    public void setSendBufferSize​(int size)
                           throws java.net.SocketException

Overrides:
  `setSendBufferSize` in class `java.net.Socket`
Throws:
  `java.net.SocketException`

#### setSoLinger

    public void setSoLinger​(boolean on,
                            int linger)
                     throws java.net.SocketException

Overrides:
  `setSoLinger` in class `java.net.Socket`
Throws:
  `java.net.SocketException`

#### setSoTimeout

    public void setSoTimeout​(int timeout)
                      throws java.net.SocketException

Overrides:
  `setSoTimeout` in class `java.net.Socket`
Throws:
  `java.net.SocketException`

#### setTcpNoDelay

    public void setTcpNoDelay​(boolean on)
                       throws java.net.SocketException

Overrides:
  `setTcpNoDelay` in class `java.net.Socket`
Throws:
  `java.net.SocketException`

#### setTrafficClass

    public void setTrafficClass​(int tc)
                         throws java.net.SocketException

Overrides:
  `setTrafficClass` in class `java.net.Socket`
Throws:
  `java.net.SocketException`

#### setUseClientMode

    public void setUseClientMode​(boolean arg0)

Specified by:
  `setUseClientMode` in class `javax.net.ssl.SSLSocket`

#### setWantClientAuth

    public void setWantClientAuth​(boolean arg0)

Specified by:
  `setWantClientAuth` in class `javax.net.ssl.SSLSocket`

#### shutdownInput

    public void shutdownInput()
                       throws java.io.IOException

Overrides:
  `shutdownInput` in class `java.net.Socket`
Throws:
  `java.io.IOException`

#### shutdownOutput

    public void shutdownOutput()
                        throws java.io.IOException

Overrides:
  `shutdownOutput` in class `java.net.Socket`
Throws:
  `java.io.IOException`

#### startHandshake

    public void startHandshake()
                        throws java.io.IOException

Specified by:
  `startHandshake` in class `javax.net.ssl.SSLSocket`
Throws:
  `java.io.IOException`

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `java.net.Socket`