History

My first initial commit with all of mine experimental changes.

Dmitry Kabak (userdima committed 13 years ago

Commit d37b88d1 parent 3f5b46618352 files · +2598093 −-8690Browse files

Showing the changes to java/pkg/java/rmi/server/RMIClientSocketFactory.java (1 of 18352 files). Show all

Unified · Split

java/pkg/java/rmi/server/RMIClientSocketFactory.java+74−0
@@ -0,0 +1,74 @@
1+/*
2+ * Copyright (c) 1998, 2001, Oracle and/or its affiliates. All rights reserved.
3+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4+ *
5+ * This code is free software; you can redistribute it and/or modify it
6+ * under the terms of the GNU General Public License version 2 only, as
7+ * published by the Free Software Foundation. Oracle designates this
8+ * particular file as subject to the "Classpath" exception as provided
9+ * by Oracle in the LICENSE file that accompanied this code.
10+ *
11+ * This code is distributed in the hope that it will be useful, but WITHOUT
12+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14+ * version 2 for more details (a copy is included in the LICENSE file that
15+ * accompanied this code).
16+ *
17+ * You should have received a copy of the GNU General Public License version
18+ * 2 along with this work; if not, write to the Free Software Foundation,
19+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20+ *
21+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22+ * or visit www.oracle.com if you need additional information or have any
23+ * questions.
24+ */
25+
26+package java.rmi.server;
27+
28+import java.io.*;
29+import java.net.*;
30+
31+/**
32+ * An <code>RMIClientSocketFactory</code> instance is used by the RMI runtime
33+ * in order to obtain client sockets for RMI calls. A remote object can be
34+ * associated with an <code>RMIClientSocketFactory</code> when it is
35+ * created/exported via the constructors or <code>exportObject</code> methods
36+ * of <code>java.rmi.server.UnicastRemoteObject</code> and
37+ * <code>java.rmi.activation.Activatable</code> .
38+ *
39+ * <p>An <code>RMIClientSocketFactory</code> instance associated with a remote
40+ * object will be downloaded to clients when the remote object's reference is
41+ * transmitted in an RMI call. This <code>RMIClientSocketFactory</code> will
42+ * be used to create connections to the remote object for remote method calls.
43+ *
44+ * <p>An <code>RMIClientSocketFactory</code> instance can also be associated
45+ * with a remote object registry so that clients can use custom socket
46+ * communication with a remote object registry.
47+ *
48+ * <p>An implementation of this interface should be serializable and
49+ * should implement {@link Object#equals} to return <code>true</code> when
50+ * passed an instance that represents the same (functionally equivalent)
51+ * client socket factory, and <code>false</code> otherwise (and it should also
52+ * implement {@link Object#hashCode} consistently with its
53+ * <code>Object.equals</code> implementation).
54+ *
55+ * @author Ann Wollrath
56+ * @author Peter Jones
57+ * @since 1.2
58+ * @see java.rmi.server.UnicastRemoteObject
59+ * @see java.rmi.activation.Activatable
60+ * @see java.rmi.registry.LocateRegistry
61+ */
62+public interface RMIClientSocketFactory {
63+
64+ /**
65+ * Create a client socket connected to the specified host and port.
66+ * @param host the host name
67+ * @param port the port number
68+ * @return a socket connected to the specified host and port.
69+ * @exception IOException if an I/O error occurs during socket creation
70+ * @since 1.2
71+ */
72+ public Socket createSocket(String host, int port)
73+ throws IOException;
74+}