mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

jvergara
28.09.2009 95b972d6e249498f9a5fa44d166a47eb52cf0853
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
/*
 * CDDL HEADER START
 *
 * The contents of this file are subject to the terms of the
 * Common Development and Distribution License, Version 1.0 only
 * (the "License").  You may not use this file except in compliance
 * with the License.
 *
 * You can obtain a copy of the license at
 * trunk/opends/resource/legal-notices/OpenDS.LICENSE
 * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
 * See the License for the specific language governing permissions
 * and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL HEADER in each
 * file and include the License file at
 * trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
 * add the following below this CDDL HEADER, with the fields enclosed
 * by brackets "[]" replaced with your own identifying information:
 *      Portions Copyright [yyyy] [name of copyright owner]
 *
 * CDDL HEADER END
 *
 *
 *      Copyright 2008 Sun Microsystems, Inc.
 */
package org.opends.server.protocols.internal;
 
 
 
import java.net.InetAddress;
import java.net.Socket;
import javax.net.SocketFactory;
 
 
 
/**
 * This class provides an implementation of a
 * {@code javax.net.SocketFactory} object that can be used to create
 * internal LDAP sockets.  This socket factory can be used with some
 * common LDAP SDKs (e.g., JNDI) in order to allow that SDK to be used
 * to perform internal operations within OpenDS with minimal changes
 * needed from what is required to perform external LDAP
 * communication.
 */
@org.opends.server.types.PublicAPI(
     stability=org.opends.server.types.StabilityLevel.UNCOMMITTED,
     mayInstantiate=true,
     mayExtend=false,
     mayInvoke=true)
public final class InternalLDAPSocketFactory
       extends SocketFactory
{
  /**
   * Creates a new instance of this internal LDAP socket factory.
   */
  public InternalLDAPSocketFactory()
  {
    // No implementation is required.
  }
 
 
 
  /**
   * Retrieves the default socket factory that should be used.  Note
   * that this method must be present for the implementation to work
   * properly.  Even though the superclass declares the same static
   * method and static methods are not generally overridden, that is
   * not the case here because the method is invoked through
   * reflection, and the superclass returns a bogus socket factory.
   *
   * @return  The default socket factory that should be used.
   */
  public static SocketFactory getDefault()
  {
    return new InternalLDAPSocketFactory();
  }
 
 
 
  /**
   * Creates a new internal LDAP socket.  The provided arguments will
   * be ignored, as they are not needed by this implementation.
   *
   * @param  host  The remote address to which the socket should be
   *               connected.
   * @param  port  The remote port to which the socket should be
   *               connected.
   *
   * @return  The created internal LDAP socket.
   */
  @Override()
  public Socket createSocket(InetAddress host, int port)
  {
    return new InternalLDAPSocket();
  }
 
 
 
  /**
   * Creates a new internal LDAP socket.  The provided arguments will
   * be ignored, as they are not needed by this implementation.
   *
   * @param  host  The remote address to which the socket should be
   *               connected.
   * @param  port  The remote port to which the socket should be
   *               connected.
   *
   * @return  The created internal LDAP socket.
   */
  @Override()
  public Socket createSocket(String host, int port)
  {
    return new InternalLDAPSocket();
  }
 
 
 
  /**
   * Creates a new internal LDAP socket.  The provided arguments will
   * be ignored, as they are not needed by this implementation.
   *
   * @param  host        The remote address to which the socket should
   *                     be connected.
   * @param  port        The remote port to which the socket should be
   *                     connected.
   * @param  clientHost  The local address to which the socket should
   *                     be bound.
   * @param  clientPort  The local port to which the socket should be
   *                     bound.
   *
   * @return  The created internal LDAP socket.
   */
  @Override()
  public Socket createSocket(InetAddress host, int port,
                             InetAddress clientHost, int clientPort)
  {
    return new InternalLDAPSocket();
  }
 
 
 
  /**
   * Creates a new internal LDAP socket.  The provided arguments will
   * be ignored, as they are not needed by this implementation.
   *
   * @param  host        The remote address to which the socket should
   *                     be connected.
   * @param  port        The remote port to which the socket should be
   *                     connected.
   * @param  clientHost  The local address to which the socket should
   *                     be bound.
   * @param  clientPort  The local port to which the socket should be
   *                     bound.
   *
   * @return  The created internal LDAP socket.
   */
  @Override()
  public Socket createSocket(String host, int port,
                             InetAddress clientHost, int clientPort)
  {
    return new InternalLDAPSocket();
  }
 
 
 
  /**
   * Retrieves a string representation of this internal LDAP socket
   * factory.
   *
   * @return  A string representation of this internal LDAP socket
   *          factory.
   */
  @Override()
  public String toString()
  {
    return "InternalLDAPSocketFactory";
  }
}