Browse Source

Little formatting

pull/388/head
Decebal Suiu 4 years ago
parent
commit
4d08bc8c51
  1. 11
      pf4j/src/main/java/org/pf4j/ClassLoadingStrategy.java
  2. 14
      pf4j/src/main/java/org/pf4j/PluginClassLoader.java

11
pf4j/src/main/java/org/pf4j/ClassLoadingStrategy.java

@ -20,10 +20,12 @@ import java.util.List;
/**
* {@link ClassLoadingStrategy} will be used to configure {@link PluginClassLoader} loading order
* and contains all possible options supported by {@link PluginClassLoader} where
* and contains all possible options supported by {@link PluginClassLoader} where:
* {@code
* A = Application Source (load classes from parent classLoader)
* P = Plugin Source (load classes from this classloader)
* D = Dependencies (load classes from dependencies)
* }
*/
public class ClassLoadingStrategy {
@ -31,28 +33,32 @@ public class ClassLoadingStrategy {
* application(parent) -> plugin -> dependencies
*/
public static final ClassLoadingStrategy APD = new ClassLoadingStrategy(Arrays.asList(Source.APPLICATION, Source.PLUGIN, Source.DEPENDENCIES));
/**
* application(parent) -> dependencies -> plugin
*/
public static final ClassLoadingStrategy ADP = new ClassLoadingStrategy(Arrays.asList(Source.APPLICATION, Source.DEPENDENCIES, Source.APPLICATION));
/**
* plugin -> application(parent) -> dependencies
*/
public static final ClassLoadingStrategy PAD = new ClassLoadingStrategy(Arrays.asList(Source.PLUGIN, Source.APPLICATION, Source.DEPENDENCIES));
/**
* dependencies -> application(parent) -> plugin
*/
public static final ClassLoadingStrategy DAP = new ClassLoadingStrategy(Arrays.asList(Source.DEPENDENCIES, Source.APPLICATION, Source.PLUGIN));
/**
* dependencies -> plugin -> application(parent)
*/
public static final ClassLoadingStrategy DPA = new ClassLoadingStrategy(Arrays.asList(Source.DEPENDENCIES, Source.PLUGIN, Source.APPLICATION));
/**
* plugin -> dependencies -> application(parent)
*/
public static final ClassLoadingStrategy PDA = new ClassLoadingStrategy(Arrays.asList(Source.PLUGIN, Source.DEPENDENCIES, Source.APPLICATION));
private final List<Source> sources;
private ClassLoadingStrategy(List<Source> sources) {
@ -66,4 +72,5 @@ public class ClassLoadingStrategy {
public enum Source {
PLUGIN, APPLICATION, DEPENDENCIES;
}
}

14
pf4j/src/main/java/org/pf4j/PluginClassLoader.java

@ -62,7 +62,6 @@ public class PluginClassLoader extends URLClassLoader {
this(pluginManager, pluginDescriptor, parent, parentFirst ? ClassLoadingStrategy.APD : ClassLoadingStrategy.PDA);
}
/**
* classloading according to {@code classLoadingStrategy}
*/
@ -117,6 +116,7 @@ public class PluginClassLoader extends URLClassLoader {
log.trace("Found loaded class '{}'", className);
return loadedClass;
}
for (ClassLoadingStrategy.Source classLoadingSource : classLoadingStrategy.getSources()) {
Class<?> c = null;
try {
@ -131,17 +131,16 @@ public class PluginClassLoader extends URLClassLoader {
c = loadClassFromDependencies(className);
break;
}
} catch (ClassNotFoundException ignored) {
} catch (ClassNotFoundException ignored) {}
}
if (c != null) {
log.trace("Found class '{}' in {} classpath", className, classLoadingSource);
return c;
} else {
log.trace("Couldn't find class '{}' in {} classpath", className, classLoadingSource);
}
}
throw new ClassNotFoundException(className);
}
}
@ -170,15 +169,16 @@ public class PluginClassLoader extends URLClassLoader {
url = findResourceFromDependencies(name);
break;
}
if (url != null) {
log.trace("Found resource '{}' in {} classpath", name, classLoadingSource);
return url;
} else {
log.trace("Couldn't find resource '{}' in {}.", name,classLoadingSource);
log.trace("Couldn't find resource '{}' in {}", name, classLoadingSource);
}
}
return null;
return null;
}
@Override
@ -201,8 +201,8 @@ public class PluginClassLoader extends URLClassLoader {
break;
}
}
return Collections.enumeration(resources);
return Collections.enumeration(resources);
}
protected Class<?> loadClassFromDependencies(String className) {

Loading…
Cancel
Save