ClassLoadingInfo.java
2.28 KB
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
/*
* Decompiled with CFR 0_118.
*
* Could not load the following classes:
* com.adobe.pdfg.logging.PDFGLogger
*/
package com.adobe.pdfg.common;
import com.adobe.pdfg.logging.PDFGLogger;
import java.net.URL;
import java.security.CodeSource;
import java.security.ProtectionDomain;
public class ClassLoadingInfo {
private static final PDFGLogger pdfgLogger = PDFGLogger.getPDFGLogger(ClassLoadingInfo.class);
private String errorMessage = null;
private String classLocation = null;
private String className = null;
public String getClassLocation() {
return this.classLocation;
}
public String getErrorMessage() {
return this.errorMessage;
}
public ClassLoadingInfo(Class clazz) {
if (clazz == null) {
this.errorMessage = "ClassLoadingInfo got null class";
} else {
this.className = clazz.getName();
try {
CodeSource cs;
ProtectionDomain pd = clazz.getProtectionDomain();
if (pd != null && (cs = pd.getCodeSource()) != null) {
this.classLocation = cs.toString();
}
if (this.classLocation == null) {
URL url;
ClassLoader clsLoader = clazz.getClassLoader();
String clsAsResource = clazz.getName().replace('.', '/').concat(".class");
URL uRL = url = clsLoader != null ? clsLoader.getResource(clsAsResource) : ClassLoader.getSystemResource(clsAsResource);
if (url != null) {
this.classLocation = url.toString();
}
}
if (this.classLocation == null) {
this.errorMessage = "No CodeSource and no Resource found!";
}
}
catch (Exception e) {
pdfgLogger.debug(e.getMessage(), null, (Throwable)e);
}
catch (LinkageError le) {
pdfgLogger.debug(le.getMessage(), null, (Throwable)le);
}
}
}
public String toString() {
String result = null;
result = this.errorMessage != null ? this.errorMessage : "Got class '" + this.className + "' from '" + this.classLocation + "'";
return result;
}
}