edu.emory.mathcs.util.net
Class ServerSocketWrapper
java.lang.Object
java.net.ServerSocket
edu.emory.mathcs.util.net.ServerSocketWrapper
- Direct Known Subclasses:
- CompressedServerSocketWrapper
- public abstract class ServerSocketWrapper
- extends java.net.ServerSocket
Wrapper for server sockets which enables to add functionality in subclasses
on top of existing, bound server sockets. It is useful when direct
subclassing of delegate socket class is not possible, e.g. if the delegate
socket is created by a library. Possible usage example is socket factory
chaining. This class delegates all socket-related requests to the wrapped
delegate, as of JDK 1.4.
- Version:
- 1.4
- Author:
- Dawid Kurzyniec
Field Summary |
protected java.net.ServerSocket |
delegate
the wrapped delegate socket. |
Constructor Summary |
protected |
ServerSocketWrapper(java.net.ServerSocket delegate)
Creates new socket wrapper for a given server socket. |
Methods inherited from class java.net.ServerSocket |
bind, bind, implAccept, setSocketFactory |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
delegate
protected final java.net.ServerSocket delegate
- the wrapped delegate socket.
ServerSocketWrapper
protected ServerSocketWrapper(java.net.ServerSocket delegate)
throws java.io.IOException
- Creates new socket wrapper for a given server socket. The delegate
must be bound and it must not be closed.
- Parameters:
delegate
- the delegate socket to wrap
- Throws:
java.net.SocketException
- if the delegate socket is closed, not bound,
or not connected
java.io.IOException
isBound
public boolean isBound()
- Returns true, indicating that the socket is bound.
- Returns:
- true
isClosed
public boolean isClosed()
getInetAddress
public java.net.InetAddress getInetAddress()
getLocalPort
public int getLocalPort()
getLocalSocketAddress
public java.net.SocketAddress getLocalSocketAddress()
accept
public java.net.Socket accept()
throws java.io.IOException
- Throws:
java.io.IOException
wrapAcceptedSocket
protected abstract java.net.Socket wrapAcceptedSocket(java.net.Socket socket)
throws java.io.IOException
- Throws:
java.io.IOException
close
public void close()
throws java.io.IOException
- Throws:
java.io.IOException
getChannel
public java.nio.channels.ServerSocketChannel getChannel()
setSoTimeout
public void setSoTimeout(int timeout)
throws java.net.SocketException
- Throws:
java.net.SocketException
getSoTimeout
public int getSoTimeout()
throws java.io.IOException
- Throws:
java.io.IOException
setReuseAddress
public void setReuseAddress(boolean on)
throws java.net.SocketException
- Throws:
java.net.SocketException
getReuseAddress
public boolean getReuseAddress()
throws java.net.SocketException
- Throws:
java.net.SocketException
toString
public java.lang.String toString()
setReceiveBufferSize
public void setReceiveBufferSize(int size)
throws java.net.SocketException
- Throws:
java.net.SocketException
getReceiveBufferSize
public int getReceiveBufferSize()
throws java.net.SocketException
- Throws:
java.net.SocketException
equals
public boolean equals(java.lang.Object obj)
hashCode
public int hashCode()