00001 /** 00002 * C-JDBC: Clustered JDBC. 00003 * Copyright (C) 2002-2004 French National Institute For Research In Computer 00004 * Science And Control (INRIA). 00005 * Contact: c-jdbc@objectweb.org 00006 * 00007 * This library is free software; you can redistribute it and/or modify it 00008 * under the terms of the GNU Lesser General Public License as published by the 00009 * Free Software Foundation; either version 2.1 of the License, or any later 00010 * version. 00011 * 00012 * This library is distributed in the hope that it will be useful, but WITHOUT 00013 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00014 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License 00015 * for more details. 00016 * 00017 * You should have received a copy of the GNU Lesser General Public License 00018 * along with this library; if not, write to the Free Software Foundation, 00019 * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 00020 * 00021 * Initial developer(s): Marc Wick. 00022 * Contributor(s): ______________________. 00023 */ 00024 00025 package org.objectweb.cjdbc.common.net; 00026 00027 import java.io.IOException; 00028 import java.io.Serializable; 00029 import java.net.ServerSocket; 00030 import java.rmi.server.RMIServerSocketFactory; 00031 00032 import javax.net.ServerSocketFactory; 00033 import javax.net.ssl.SSLServerSocket; 00034 00035 /** 00036 * This class defines a RMISSLServerSocketFactory 00037 * 00038 * @author <a href="mailto:marc.wick@monte-bre.ch">Marc Wick </a> 00039 * @version 1.0 00040 */ 00041 public class RMISSLServerSocketFactory 00042 implements 00043 RMIServerSocketFactory, 00044 Serializable 00045 { 00046 ServerSocketFactory factory; 00047 00048 /** 00049 * Creates a new <code>RMISSLServerSocketFactory.java</code> object 00050 * 00051 * @param socketFactory - the factory to be used 00052 */ 00053 public RMISSLServerSocketFactory(ServerSocketFactory socketFactory) 00054 { 00055 this.factory = socketFactory; 00056 } 00057 00058 /** 00059 * @see java.rmi.server.RMIServerSocketFactory#createServerSocket(int) 00060 */ 00061 public ServerSocket createServerSocket(int port) throws IOException 00062 { 00063 SSLServerSocket socket = (SSLServerSocket) factory.createServerSocket(port); 00064 return socket; 00065 } 00066 00067 /** 00068 * @see java.lang.Object#equals(java.lang.Object) 00069 * <p> 00070 * http://developer.java.sun.com/developer/bugParade/bugs/4492317.html 00071 */ 00072 public boolean equals(Object obj) 00073 { 00074 if (obj == null) 00075 return false; 00076 if (this == obj) 00077 return true; 00078 if (factory == null) 00079 return false; 00080 return (getClass() == obj.getClass() && factory.equals(factory)); 00081 } 00082 00083 /** 00084 * @see java.lang.Object#hashCode() 00085 * <p> 00086 * http://developer.java.sun.com/developer/bugParade/bugs/4492317.html 00087 */ 00088 public int hashCode() 00089 { 00090 return factory.hashCode(); 00091 } 00092 00093 }