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:
JRE 8 rt.jar - javax.* Package Source Code
JRE 8 rt.jar is the JAR file for JRE 8 RT (Runtime) libraries.
JRE (Java Runtime) 8 is the runtime environment included in JDK 8.
JRE 8 rt.jar libraries are divided into 6 packages:
com.* - Internal Oracle and Sun Microsystems libraries java.* - Standard Java API libraries. javax.* - Extended Java API libraries. jdk.* - JDK supporting libraries. org.* - Third party libraries. sun.* - Old libraries developed by Sun Microsystems.
JAR File Information:
Directory of C:\fyicenter\jdk-1.8.0_191\jre\lib 63,596,151 rt.jar
Here is the list of Java classes of the javax.* package in JRE 1.8.0_191 rt.jar. Java source codes are also provided.
✍: FYIcenter
⏎ javax/naming/ldap/Rfc2253Parser.java
/* * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package javax.naming.ldap; import java.util.List; import java.util.ArrayList; import javax.naming.InvalidNameException; /* * RFC2253Parser implements a recursive descent parser for a single DN. */ final class Rfc2253Parser { private final String name; // DN being parsed private final char[] chars; // characters in LDAP name being parsed private final int len; // length of "chars" private int cur = 0; // index of first unconsumed char in "chars" /* * Given an LDAP DN in string form, returns a parser for it. */ Rfc2253Parser(String name) { this.name = name; len = name.length(); chars = name.toCharArray(); } /* * Parses the DN, returning a List of its RDNs. */ // public List<Rdn> getDN() throws InvalidNameException { List<Rdn> parseDn() throws InvalidNameException { cur = 0; // ArrayList<Rdn> rdns = // new ArrayList<Rdn>(len / 3 + 10); // leave room for growth ArrayList<Rdn> rdns = new ArrayList<>(len / 3 + 10); // leave room for growth if (len == 0) { return rdns; } rdns.add(doParse(new Rdn())); while (cur < len) { if (chars[cur] == ',' || chars[cur] == ';') { ++cur; rdns.add(0, doParse(new Rdn())); } else { throw new InvalidNameException("Invalid name: " + name); } } return rdns; } /* * Parses the DN, if it is known to contain a single RDN. */ Rdn parseRdn() throws InvalidNameException { return parseRdn(new Rdn()); } /* * Parses the DN, if it is known to contain a single RDN. */ Rdn parseRdn(Rdn rdn) throws InvalidNameException { rdn = doParse(rdn); if (cur < len) { throw new InvalidNameException("Invalid RDN: " + name); } return rdn; } /* * Parses the next RDN and returns it. Throws an exception if * none is found. Leading and trailing whitespace is consumed. */ private Rdn doParse(Rdn rdn) throws InvalidNameException { while (cur < len) { consumeWhitespace(); String attrType = parseAttrType(); consumeWhitespace(); if (cur >= len || chars[cur] != '=') { throw new InvalidNameException("Invalid name: " + name); } ++cur; // consume '=' consumeWhitespace(); String value = parseAttrValue(); consumeWhitespace(); rdn.put(attrType, Rdn.unescapeValue(value)); if (cur >= len || chars[cur] != '+') { break; } ++cur; // consume '+' } rdn.sort(); return rdn; } /* * Returns the attribute type that begins at the next unconsumed * char. No leading whitespace is expected. * This routine is more generous than RFC 2253. It accepts * attribute types composed of any nonempty combination of Unicode * letters, Unicode digits, '.', '-', and internal space characters. */ private String parseAttrType() throws InvalidNameException { final int beg = cur; while (cur < len) { char c = chars[cur]; if (Character.isLetterOrDigit(c) || c == '.' || c == '-' || c == ' ') { ++cur; } else { break; } } // Back out any trailing spaces. while ((cur > beg) && (chars[cur - 1] == ' ')) { --cur; } if (beg == cur) { throw new InvalidNameException("Invalid name: " + name); } return new String(chars, beg, cur - beg); } /* * Returns the attribute value that begins at the next unconsumed * char. No leading whitespace is expected. */ private String parseAttrValue() throws InvalidNameException { if (cur < len && chars[cur] == '#') { return parseBinaryAttrValue(); } else if (cur < len && chars[cur] == '"') { return parseQuotedAttrValue(); } else { return parseStringAttrValue(); } } private String parseBinaryAttrValue() throws InvalidNameException { final int beg = cur; ++cur; // consume '#' while ((cur < len) && Character.isLetterOrDigit(chars[cur])) { ++cur; } return new String(chars, beg, cur - beg); } private String parseQuotedAttrValue() throws InvalidNameException { final int beg = cur; ++cur; // consume '"' while ((cur < len) && chars[cur] != '"') { if (chars[cur] == '\\') { ++cur; // consume backslash, then what follows } ++cur; } if (cur >= len) { // no closing quote throw new InvalidNameException("Invalid name: " + name); } ++cur; // consume closing quote return new String(chars, beg, cur - beg); } private String parseStringAttrValue() throws InvalidNameException { final int beg = cur; int esc = -1; // index of the most recently escaped character while ((cur < len) && !atTerminator()) { if (chars[cur] == '\\') { ++cur; // consume backslash, then what follows esc = cur; } ++cur; } if (cur > len) { // 'twas backslash followed by nothing throw new InvalidNameException("Invalid name: " + name); } // Trim off (unescaped) trailing whitespace. int end; for (end = cur; end > beg; end--) { if (!isWhitespace(chars[end - 1]) || (esc == end - 1)) { break; } } return new String(chars, beg, end - beg); } private void consumeWhitespace() { while ((cur < len) && isWhitespace(chars[cur])) { ++cur; } } /* * Returns true if next unconsumed character is one that terminates * a string attribute value. */ private boolean atTerminator() { return (cur < len && (chars[cur] == ',' || chars[cur] == ';' || chars[cur] == '+')); } /* * Best guess as to what RFC 2253 means by "whitespace". */ private static boolean isWhitespace(char c) { return (c == ' ' || c == '\r'); } }
⏎ javax/naming/ldap/Rfc2253Parser.java
Or download all of them as a single archive file:
File name: jre-rt-javax-1.8.0_191-src.zip File size: 5381005 bytes Release date: 2018-10-28 Download
⇒ JRE 8 rt.jar - org.* Package Source Code
2023-02-07, 197942👍, 5💬
Popular Posts:
The Java Naming and Directory Interface (JNDI) is part of the Java platform, providing applications ...
How to display types defined in an XML Schema file with the xs\QueryXS.java provided in the Apache X...
How to run "jar" command from JDK tools.jar file? "jar" is the JAR (Java Archive) file management co...
JDK 11 jdk.hotspot.agent.jmod is the JMOD file for JDK 11 Hotspot Agent module. JDK 11 Hotspot Agent...
ASM is an all purpose Java bytecode manipulation and analysis framework. It can be used to modify ex...