Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (102)
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 (322)
Collections:
Other Resources:
JDK 17 jdk.jdeps.jmod - JDeps Tool
JDK 17 jdk.jdeps.jmod is the JMOD file for JDK 17 JDeps tool,
which can be invoked by the "jdeps" command.
JDK 17 JDeps tool compiled class files are stored in \fyicenter\jdk-17.0.5\jmods\jdk.jdeps.jmod.
JDK 17 JDeps tool compiled class files are also linked and stored in the \fyicenter\jdk-17.0.5\lib\modules JImage file.
JDK 17 JDeps tool source code files are stored in \fyicenter\jdk-17.0.5\lib\src.zip\jdk.jdeps.
You can click and view the content of each source code file in the list below.
✍: FYIcenter
⏎ com/sun/tools/jdeps/Archive.java
/*
* Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
package com.sun.tools.jdeps;
import com.sun.tools.classfile.Dependency.Location;
import java.io.Closeable;
import java.io.IOException;
import java.io.UncheckedIOException;
import java.net.URI;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.HashSet;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Stream;
import static com.sun.tools.jdeps.Module.trace;
/**
* Represents the source of the class files.
*/
public class Archive implements Closeable {
public static Archive getInstance(Path p, Runtime.Version version) {
try {
return new Archive(p, ClassFileReader.newInstance(p, version));
} catch (IOException e) {
throw new UncheckedIOException(e);
}
}
private final URI location;
private final Path path;
private final String filename;
private final ClassFileReader reader;
protected Map<Location, Set<Location>> deps = new ConcurrentHashMap<>();
protected Archive(String name) {
this(name, null, null);
}
protected Archive(String name, URI location, ClassFileReader reader) {
this.location = location;
this.path = location != null ? Paths.get(location) : null;
this.filename = name;
this.reader = reader;
}
protected Archive(Path p, ClassFileReader reader) {
this.location = null;
this.path = p;
this.filename = path.getFileName().toString();
this.reader = reader;
}
public ClassFileReader reader() {
return reader;
}
public String getName() {
return filename;
}
public Module getModule() {
return Module.UNNAMED_MODULE;
}
public boolean contains(String entry) {
return reader.entries().contains(entry);
}
public void addClass(Location origin) {
deps.computeIfAbsent(origin, _k -> new HashSet<>());
}
public void addClass(Location origin, Location target) {
deps.computeIfAbsent(origin, _k -> new HashSet<>()).add(target);
}
public Set<Location> getClasses() {
return deps.keySet();
}
public Stream<Location> getDependencies() {
return deps.values().stream()
.flatMap(Set::stream);
}
public boolean hasDependences() {
return getDependencies().count() > 0;
}
public void visitDependences(Visitor v) {
for (Map.Entry<Location,Set<Location>> e: deps.entrySet()) {
for (Location target : e.getValue()) {
v.visit(e.getKey(), target);
}
}
}
/**
* Tests if any class has been parsed.
*/
public boolean isEmpty() {
return getClasses().isEmpty();
}
public String getPathName() {
return path != null ? path.toString() : filename;
}
public Optional<Path> path() {
return Optional.ofNullable(path);
}
@Override
public int hashCode() {
return Objects.hash(this.filename, this.path);
}
@Override
public boolean equals(Object o) {
if (o instanceof Archive) {
Archive other = (Archive)o;
if (path == other.path || isSameLocation(this, other))
return true;
}
return false;
}
@Override
public String toString() {
return filename;
}
public static boolean isSameLocation(Archive archive, Archive other) {
if (archive.path == null || other.path == null)
return false;
if (archive.location != null && other.location != null &&
archive.location.equals(other.location)) {
return true;
}
if (archive.isJrt() || other.isJrt()) {
return false;
}
try {
return Files.isSameFile(archive.path, other.path);
} catch (IOException e) {
throw new UncheckedIOException(e);
}
}
private boolean isJrt() {
return location != null && location.getScheme().equals("jrt");
}
@Override
public void close() throws IOException {
trace("closing %s %n", getPathName());
if (reader != null)
reader.close();
}
interface Visitor {
void visit(Location origin, Location target);
}
}
⏎ com/sun/tools/jdeps/Archive.java
Or download all of them as a single archive file:
File name: jdk.jdeps-17.0.5-src.zip File size: 258425 bytes Release date: 2022-09-13 Download
⇒ JDK 17 jdk.jdi.jmod - JDI Tool
2023-04-17, ≈27🔥, 0💬
Popular Posts:
JDK 11 java.management.jmod is the JMOD file for JDK 11 Management module. JDK 11 Management module ...
What Is poi-scratchpad-5.2.3.jar ?poi-scratchpad-5.2.3.jar is one of the JAR files for Apache POI 5....
JDK 11 java.sql.jmod is the JMOD file for JDK 11 SQL (Structured Query Language) module. JDK 11 SQL ...
The JDT project provides the tool plug-ins that implement a Java IDE supporting the development of a...
JDK 11 jdk.dynalink.jmod is the JMOD file for JDK 11 Dynamic Linking module. JDK 11 Dynamic Linking ...