Package org.codehaus.groovy.runtime
Class SocketGroovyMethods
java.lang.Object
org.codehaus.groovy.runtime.DefaultGroovyMethodsSupport
org.codehaus.groovy.runtime.SocketGroovyMethods
public class SocketGroovyMethods extends DefaultGroovyMethodsSupport
This class defines new groovy methods for Sockets which enhance
JDK classes inside the Groovy environment.
NOTE: While this class contains many 'public' static methods, it is primarily regarded as an internal class (its internal package name suggests this also). We value backwards compatibility of these methods when used within Groovy but value less backwards compatibility at the Java method call level. I.e. future versions of Groovy may remove or move a method call in this file but would normally aim to keep the method available from within Groovy.
-
Constructor Summary
Constructors Constructor Description SocketGroovyMethods()
-
Method Summary
Modifier and Type Method Description static java.net.Socket
accept(java.net.ServerSocket serverSocket, boolean runInANewThread, Closure closure)
Accepts a connection and passes the resulting Socket to the closure which runs in a new Thread or the calling thread, as needed.static java.net.Socket
accept(java.net.ServerSocket serverSocket, Closure closure)
Accepts a connection and passes the resulting Socket to the closure which runs in a new Thread.static java.io.OutputStream
leftShift(java.net.Socket self, byte[] value)
Overloads the left shift operator to provide an append mechanism to add bytes to the output stream of a socketstatic java.io.Writer
leftShift(java.net.Socket self, java.lang.Object value)
Overloads the left shift operator to provide an append mechanism to add things to the output stream of a socketstatic <T> T
withObjectStreams(java.net.Socket socket, Closure<T> closure)
Creates an InputObjectStream and an OutputObjectStream from a Socket, and passes them to the closure.static <T> T
withStreams(java.net.Socket socket, Closure<T> closure)
Passes the Socket's InputStream and OutputStream to the closure.Methods inherited from class org.codehaus.groovy.runtime.DefaultGroovyMethodsSupport
cloneSimilarCollection, cloneSimilarMap, closeQuietly, closeWithWarning, createSimilarArray, createSimilarCollection, createSimilarCollection, createSimilarCollection, createSimilarList, createSimilarMap, createSimilarOrDefaultCollection, createSimilarQueue, createSimilarSet, normaliseIndex, sameType, subListBorders, subListBorders, writeUTF16BomIfRequired, writeUTF16BomIfRequired, writeUTF16BomIfRequired, writeUTF16BomIfRequired
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
SocketGroovyMethods
public SocketGroovyMethods()
-
-
Method Details
-
withStreams
public static <T> T withStreams(java.net.Socket socket, Closure<T> closure) throws java.io.IOExceptionPasses the Socket's InputStream and OutputStream to the closure. The streams will be closed after the closure returns, even if an exception is thrown.- Parameters:
socket
- a Socketclosure
- a Closure- Returns:
- the value returned by the closure
- Throws:
java.io.IOException
- if an IOException occurs.- Since:
- 1.5.2
-
withObjectStreams
public static <T> T withObjectStreams(java.net.Socket socket, Closure<T> closure) throws java.io.IOExceptionCreates an InputObjectStream and an OutputObjectStream from a Socket, and passes them to the closure. The streams will be closed after the closure returns, even if an exception is thrown.- Parameters:
socket
- this Socketclosure
- a Closure- Returns:
- the value returned by the closure
- Throws:
java.io.IOException
- if an IOException occurs.- Since:
- 1.5.0
-
leftShift
public static java.io.Writer leftShift(java.net.Socket self, java.lang.Object value) throws java.io.IOExceptionOverloads the left shift operator to provide an append mechanism to add things to the output stream of a socket- Parameters:
self
- a Socketvalue
- a value to append- Returns:
- a Writer
- Throws:
java.io.IOException
- if an IOException occurs.- Since:
- 1.0
-
leftShift
public static java.io.OutputStream leftShift(java.net.Socket self, byte[] value) throws java.io.IOExceptionOverloads the left shift operator to provide an append mechanism to add bytes to the output stream of a socket- Parameters:
self
- a Socketvalue
- a value to append- Returns:
- an OutputStream
- Throws:
java.io.IOException
- if an IOException occurs.- Since:
- 1.0
-
accept
public static java.net.Socket accept(java.net.ServerSocket serverSocket, Closure closure) throws java.io.IOExceptionAccepts a connection and passes the resulting Socket to the closure which runs in a new Thread.- Parameters:
serverSocket
- a ServerSocketclosure
- a Closure- Returns:
- a Socket
- Throws:
java.io.IOException
- if an IOException occurs.- Since:
- 1.0
- See Also:
ServerSocket.accept()
-
accept
public static java.net.Socket accept(java.net.ServerSocket serverSocket, boolean runInANewThread, Closure closure) throws java.io.IOExceptionAccepts a connection and passes the resulting Socket to the closure which runs in a new Thread or the calling thread, as needed.- Parameters:
serverSocket
- a ServerSocketrunInANewThread
- This flag should be true, if the closure should be invoked in a new thread, else false.closure
- a Closure- Returns:
- a Socket
- Throws:
java.io.IOException
- if an IOException occurs.- Since:
- 1.7.6
- See Also:
ServerSocket.accept()
-