Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
JDK 11 java.naming.jmod - Naming Module
JDK 11 java.naming.jmod is the JMOD file for JDK 11 Naming module.
JDK 11 Naming module compiled class files are stored in \fyicenter\jdk-11.0.1\jmods\java.naming.jmod.
JDK 11 Naming module compiled class files are also linked and stored in the \fyicenter\jdk-11.0.1\lib\modules JImage file.
JDK 11 Naming module source code files are stored in \fyicenter\jdk-11.0.1\lib\src.zip\java.naming.
You can click and view the content of each source code file in the list below.
✍: FYIcenter
⏎ com/sun/jndi/ldap/ClientId.java
/* * Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package com.sun.jndi.ldap; import java.util.Locale; import java.util.Arrays; // JDK 1.2 import java.io.OutputStream; import javax.naming.ldap.Control; import java.lang.reflect.Method; import javax.net.SocketFactory; /** * Represents identity information about an anonymous LDAP connection. * This base class contains the following information: * - protocol version number * - server's hostname (case-insensitive) * - server's port number * - prototype type (plain or ssl) * - controls to be sent with the LDAP bind request * * All other identity classes must be a subclass of ClientId. * Identity subclasses would add more distinguishing information, depending * on the type of authentication that the connection is to have. * * The equals() and hashCode() methods of this class and its subclasses are * important because they are used to determine whether two requests for * the same connection are identical, and thus whether the same connection * may be shared. This is especially important for authenticated connections * because a mistake would result in a serious security violation. * * @author Rosanna Lee */ class ClientId { final private int version; final private String hostname; final private int port; final private String protocol; final private Control[] bindCtls; final private OutputStream trace; final private String socketFactory; final private int myHash; final private int ctlHash; private SocketFactory factory = null; private Method sockComparator = null; private boolean isDefaultSockFactory = false; final public static boolean debug = false; ClientId(int version, String hostname, int port, String protocol, Control[] bindCtls, OutputStream trace, String socketFactory) { this.version = version; this.hostname = hostname.toLowerCase(Locale.ENGLISH); // ignore case this.port = port; this.protocol = protocol; this.bindCtls = (bindCtls != null ? bindCtls.clone() : null); this.trace = trace; // // Needed for custom socket factory pooling // this.socketFactory = socketFactory; if ((socketFactory != null) && !socketFactory.equals(LdapCtx.DEFAULT_SSL_FACTORY)) { try { Class<?> socketFactoryClass = Obj.helper.loadClass(socketFactory); this.sockComparator = socketFactoryClass.getMethod( "compare", new Class<?>[]{Object.class, Object.class}); Method getDefault = socketFactoryClass.getMethod( "getDefault", new Class<?>[]{}); this.factory = (SocketFactory)getDefault.invoke(null, new Object[]{}); } catch (Exception e) { // Ignore it here, the same exceptions are/will be handled by // LdapPoolManager and Connection classes. if (debug) { System.out.println("ClientId received an exception"); e.printStackTrace(); } } } else { isDefaultSockFactory = true; } // The SocketFactory field is not used in the myHash // computation as there is no right way to compute the hash code // for this field. There is no harm in skipping it from the hash // computation myHash = version + port + (trace != null ? trace.hashCode() : 0) + (this.hostname != null ? this.hostname.hashCode() : 0) + (protocol != null ? protocol.hashCode() : 0) + (ctlHash=hashCodeControls(bindCtls)); } public boolean equals(Object obj) { if (!(obj instanceof ClientId)) { return false; } ClientId other = (ClientId)obj; return myHash == other.myHash && version == other.version && port == other.port && trace == other.trace && (hostname == other.hostname // null OK || (hostname != null && hostname.equals(other.hostname))) && (protocol == other.protocol // null OK || (protocol != null && protocol.equals(other.protocol))) && ctlHash == other.ctlHash && (equalsControls(bindCtls, other.bindCtls)) && (equalsSockFactory(other)); } public int hashCode() { return myHash; } private static int hashCodeControls(Control[] c) { if (c == null) { return 0; } int code = 0; for (int i = 0; i < c.length; i++) { code = code * 31 + c[i].getID().hashCode(); } return code; } private static boolean equalsControls(Control[] a, Control[] b) { if (a == b) { return true; // both null or same } if (a == null || b == null) { return false; // one is non-null } if (a.length != b.length) { return false; } for (int i = 0; i < a.length; i++) { if (!a[i].getID().equals(b[i].getID()) || a[i].isCritical() != b[i].isCritical() || !Arrays.equals(a[i].getEncodedValue(), b[i].getEncodedValue())) { return false; } } return true; } private boolean equalsSockFactory(ClientId other) { if (this.isDefaultSockFactory && other.isDefaultSockFactory) { return true; } else if (!other.isDefaultSockFactory) { return invokeComparator(other, this); } else { return invokeComparator(this, other); } } // delegate the comparison work to the SocketFactory class // as there is no enough information here, to do the comparison private boolean invokeComparator(ClientId c1, ClientId c2) { Object ret; try { ret = (c1.sockComparator).invoke( c1.factory, c1.socketFactory, c2.socketFactory); } catch(Exception e) { if (debug) { System.out.println("ClientId received an exception"); e.printStackTrace(); } // Failed to invoke the comparator; flag inequality return false; } if (((Integer) ret) == 0) { return true; } return false; } private static String toStringControls(Control[] ctls) { if (ctls == null) { return ""; } StringBuilder str = new StringBuilder(); for (int i = 0; i < ctls.length; i++) { str.append(ctls[i].getID()); str.append(' '); } return str.toString(); } public String toString() { return (hostname + ":" + port + ":" + (protocol != null ? protocol : "") + ":" + toStringControls(bindCtls) + ":" + socketFactory); } }
⏎ com/sun/jndi/ldap/ClientId.java
Or download all of them as a single archive file:
File name: java.naming-11.0.1-src.zip File size: 461792 bytes Release date: 2018-11-04 Download
⇒ JDK 11 java.net.http.jmod - Net HTTP Module
2020-09-30, 60787👍, 0💬
Popular Posts:
How to compare performances of various XML parsers with the jaxp\SourceValidator.jav aprovided in th...
What Is javamail-1_2.zip? javamail-1_2.zip is the binary package of JavaMail API 1.2 in ZIP format. ...
JDK 17 java.base.jmod is the JMOD file for JDK 17 Base module. JDK 17 Base module compiled class fil...
How to read XML document with DTD validation from socket connections with the socket\DelayedInput.ja.. .
How to download and install iText7-Core-7.1.4.zip? iText7-Core-7.1.4.zip is the binary package of iT...