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 17 java.naming.jmod - Naming Module
JDK 17 java.naming.jmod is the JMOD file for JDK 17 Naming module.
JDK 17 Naming module compiled class files are stored in \fyicenter\jdk-17.0.5\jmods\java.naming.jmod.
JDK 17 Naming module compiled class files are also linked and stored in the \fyicenter\jdk-17.0.5\lib\modules JImage file.
JDK 17 Naming module source code files are stored in \fyicenter\jdk-17.0.5\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/LdapSearchEnumeration.java
/* * Copyright (c) 1999, 2021, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package com.sun.jndi.ldap; import java.security.AccessControlContext; import java.security.AccessController; import java.security.PrivilegedActionException; import java.security.PrivilegedExceptionAction; import java.util.Vector; import javax.naming.*; import javax.naming.directory.*; import javax.naming.spi.*; import javax.naming.ldap.*; import javax.naming.ldap.LdapName; import com.sun.jndi.toolkit.ctx.Continuation; final class LdapSearchEnumeration extends AbstractLdapNamingEnumeration<SearchResult> { private Name startName; // prefix of names of search results private LdapCtx.SearchArgs searchArgs = null; @SuppressWarnings("removal") private final AccessControlContext acc = AccessController.getContext(); LdapSearchEnumeration(LdapCtx homeCtx, LdapResult search_results, String starter, LdapCtx.SearchArgs args, Continuation cont) throws NamingException { super(homeCtx, search_results, args.name, /* listArg */ cont); // fully qualified name of starting context of search startName = new LdapName(starter); searchArgs = args; } @SuppressWarnings("removal") @Override protected SearchResult createItem(String dn, Attributes attrs, Vector<Control> respCtls) throws NamingException { Object obj = null; String relStart; // name relative to starting search context String relHome; // name relative to homeCtx.currentDN boolean relative = true; // whether relative to currentDN // need to strip off all but lowest component of dn // so that is relative to current context (currentDN) try { Name parsed = new LdapName(dn); // System.err.println("dn string: " + dn); // System.err.println("dn name: " + parsed); if (startName != null && parsed.startsWith(startName)) { relStart = parsed.getSuffix(startName.size()).toString(); relHome = parsed.getSuffix(homeCtx.currentParsedDN.size()).toString(); } else { relative = false; relHome = relStart = LdapURL.toUrlString(homeCtx.hostname, homeCtx.port_number, dn, homeCtx.hasLdapsScheme); } } catch (NamingException e) { // could not parse name relative = false; relHome = relStart = LdapURL.toUrlString(homeCtx.hostname, homeCtx.port_number, dn, homeCtx.hasLdapsScheme); } // Name relative to search context CompositeName cn = new CompositeName(); if (!relStart.isEmpty()) { cn.add(relStart); } // Name relative to homeCtx CompositeName rcn = new CompositeName(); if (!relHome.isEmpty()) { rcn.add(relHome); } //System.err.println("relStart: " + cn); //System.err.println("relHome: " + rcn); // Fix attributes to be able to get schema homeCtx.setParents(attrs, rcn); // only generate object when requested if (searchArgs.cons.getReturningObjFlag()) { if (attrs.get(Obj.JAVA_ATTRIBUTES[Obj.CLASSNAME]) != null) { // Entry contains Java-object attributes (ser/ref object) // serialized object or object reference try { PrivilegedExceptionAction<Object> pea = () -> Obj.decodeObject(attrs); obj = AccessController.doPrivileged(pea, acc); } catch (PrivilegedActionException e) { throw (NamingException)e.getException(); } } if (obj == null) { obj = new LdapCtx(homeCtx, dn); } // Call getObjectInstance before removing unrequested attributes try { // rcn is either relative to homeCtx or a fully qualified DN obj = DirectoryManager.getObjectInstance( obj, rcn, (relative ? homeCtx : null), homeCtx.envprops, attrs); } catch (NamingException e) { throw e; } catch (Exception e) { NamingException ne = new NamingException( "problem generating object using object factory"); ne.setRootCause(e); throw ne; } // remove Java attributes from result, if necessary // Even if CLASSNAME attr not there, there might be some // residual attributes String[] reqAttrs; if ((reqAttrs = searchArgs.reqAttrs) != null) { // create an attribute set for those requested Attributes rattrs = new BasicAttributes(true); // ignore case for (int i = 0; i < reqAttrs.length; i++) { rattrs.put(reqAttrs[i], null); } for (int i = 0; i < Obj.JAVA_ATTRIBUTES.length; i++) { // Remove Java-object attributes if not requested if (rattrs.get(Obj.JAVA_ATTRIBUTES[i]) == null) { attrs.remove(Obj.JAVA_ATTRIBUTES[i]); } } } } /* * name in search result is either the stringified composite name * relative to the search context that can be passed directly to * methods of the search context, or the fully qualified DN * which can be used with the initial context. */ SearchResult sr; if (respCtls != null) { sr = new SearchResultWithControls( (relative ? cn.toString() : relStart), obj, attrs, relative, homeCtx.convertControls(respCtls)); } else { sr = new SearchResult( (relative ? cn.toString() : relStart), obj, attrs, relative); } sr.setNameInNamespace(dn); return sr; } @Override public void appendUnprocessedReferrals(LdapReferralException ex) { // a referral has been followed so do not create relative names startName = null; super.appendUnprocessedReferrals(ex); } @Override protected AbstractLdapNamingEnumeration<? extends NameClassPair> getReferredResults( LdapReferralContext refCtx) throws NamingException { // repeat the original operation at the new context return (AbstractLdapNamingEnumeration<? extends NameClassPair>)refCtx.search( searchArgs.name, searchArgs.filter, searchArgs.cons); } @Override protected void update(AbstractLdapNamingEnumeration<? extends NameClassPair> ne) { super.update(ne); // Update search-specific variables LdapSearchEnumeration se = (LdapSearchEnumeration)ne; startName = se.startName; } void setStartName(Name nm) { startName = nm; } }
⏎ com/sun/jndi/ldap/LdapSearchEnumeration.java
Or download all of them as a single archive file:
File name: java.naming-17.0.5-src.zip File size: 490626 bytes Release date: 2022-09-13 Download
⇒ JDK 17 java.net.http.jmod - Net HTTP Module
2023-09-23, 6511👍, 0💬
Popular Posts:
ANTLR is a powerful parser generator for multiple programming languages including Java. ANTLR contai...
iText is an ideal library for developers looking to enhance web- and other applications with dynamic...
JDK 11 jdk.internal.JVM Stat.jmod is the JMOD file for JDK 11 Internal Jvmstat module. JDK 11 Intern...
What Is junit-3.8.1.jar? junit-3.8.1.jar is the version 3.8.1 of JUnit JAR library file. JUnit is a ...
JDK 11 jdk.dynalink.jmod is the JMOD file for JDK 11 Dynamic Linking module. JDK 11 Dynamic Linking ...