psmith 2003/06/17 16:25:41
Modified: src/java/org/apache/log4j/net SocketReceiver.java
Log:
Modified to use an inner class SocketDetails encapsulating the details
of the Socket, without exposing the socket itself to outside classes.
Revision Changes Path
1.7 +34 -3
jakarta-log4j-sandbox/src/java/org/apache/log4j/net/SocketReceiver.java
Index: SocketReceiver.java
===================================================================
RCS file:
/home/cvs/jakarta-log4j-sandbox/src/java/org/apache/log4j/net/SocketReceiver.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- SocketReceiver.java 17 Jun 2003 16:33:57 -0000 1.6
+++ SocketReceiver.java 17 Jun 2003 23:25:41 -0000 1.7
@@ -57,6 +57,7 @@
import java.net.Socket;
import java.util.Enumeration;
+import java.util.Iterator;
import java.util.Vector;
@@ -70,6 +71,8 @@
appenders currently configured in the LoggerRespository.
@author Mark Womack
+ @author Scott Deboy <[EMAIL PROTECTED]>
+ @author Paul Smith <[EMAIL PROTECTED]>
@since 1.3
*/
public class SocketReceiver extends Receiver implements Runnable, PortBased {
@@ -229,18 +232,46 @@
}
/**
- * Returns a Vector of Strings representing the IP/Domain name
+ * Returns a Vector of SocketDetail representing the IP/Domain name
* of the currently connected sockets that this receiver has
* been responsible for creating.
- * @return
+ * @return Vector of SocketDetails
*/
public Vector getConnectedSocketDetails() {
Vector details = new Vector(socketList.size());
for(Enumeration enum = socketList.elements(); enum.hasMoreElements();) {
Socket socket = (Socket)enum.nextElement();
- details.add(socket.getInetAddress().getHostName() + ":" + socket.getPort());
+ details.add(new SocketDetail(socket));
}
return details;
+ }
+
+ public static class SocketDetail implements AddressBased, PortBased {
+
+ private String address;
+ private int port;
+
+ private SocketDetail(Socket socket) {
+ this.address = socket.getInetAddress().getHostName();
+ this.port = socket.getPort();
+ }
+
+ public String getAddress() {
+ return address;
+ }
+
+ public int getPort() {
+ return port;
+ }
+ public String getName() {
+ return "Socket";
+ }
+
+ public boolean isActive() {
+// TODO allow a Socket to be active/inactive/paused etc.
+ return true;
+ }
+
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]