/** * Initialize the classloader system * * @param clazz the original clazz * @param system the system * @param beforeFilter the before filter * @param afterFilter the after filter * @param policy the policy * @return the clazz loaded from the new classloading system */ public Class<?> initializeClassLoader(Class<?> clazz, ClassLoaderSystem system, ClassFilter beforeFilter, ClassFilter afterFilter, ClassLoaderPolicy policy) { ParentPolicy parentPolicy = new ParentPolicy(beforeFilter, afterFilter); return initializeClassLoader(clazz, system, parentPolicy, policy); }
public String getParentPolicyName() { return parentPolicy.toString(); }
@Override protected void afterGetPackages(Set<Package> packages) { ClassFilter filter = getParentPolicy().getAfterFilter(); getPackagesFromParent(packages, filter); }
@Override protected void beforeGetPackages(Set<Package> packages) { ClassFilter filter = getParentPolicy().getBeforeFilter(); getPackagesFromParent(packages, filter); }
if (parentResult && getParentPolicy().getBeforeFilter().matchesClassName(className)) return true; if (parentResult && getParentPolicy().getAfterFilter().matchesClassName(className)) return true;
@Override protected void afterGetPackages(Set<Package> packages) { ClassFilter filter = getParentPolicy().getAfterFilter(); getPackagesFromParent(packages, filter); }
@Override // FindBugs: The Set doesn't use equals/hashCode protected void beforeGetResources(String name, Set<URL> urls) throws IOException { boolean trace = log.isTraceEnabled(); ClassFilter filter = getParentPolicy().getBeforeFilter(); if (filter.matchesResourcePath(name)) { if (trace) log.trace(this + " " + name + " matches parent beforeFilter=" + filter); getResourcesFromParent(name, urls); } else if (trace) log.trace(this + " " + name + " does NOT match parent beforeFilter=" + filter); }
@Override protected Class<?> loadClassAfter(String name) { boolean trace = log.isTraceEnabled(); ClassFilter filter = getParentPolicy().getAfterFilter(); if (filter.matchesClassName(name)) { if (trace) log.trace(this + " " + name + " matches parent afterFilter=" + filter); return loadClassFromParent(name); } if (trace) log.trace(this + " " + name + " does NOT match parent afterFilter=" + filter); return null; }
public boolean isParentBefore(String classname) { ClassFilter filter = parentPolicy.getBeforeFilter(); boolean isParentBefore = filter.matchesClassName(ClassLoaderUtils.stripArrayFromClassName(classname)); if (logger.isTraceEnabled()) logger.trace(this + " " + getDomain() + " isParentBefore " + isParentBefore); return isParentBefore; } }
/** * Initialize the classloader system * * @param clazz the original clazz * @param system the system * @param beforeFilter the before filter * @param afterFilter the after filter * @param policy the policy * @return the clazz loaded from the new classloading system */ public Class<?> initializeClassLoader(Class<?> clazz, ClassLoaderSystem system, ClassFilter beforeFilter, ClassFilter afterFilter, ClassLoaderPolicy policy) { ParentPolicy parentPolicy = new ParentPolicy(beforeFilter, afterFilter); return initializeClassLoader(clazz, system, parentPolicy, policy); }
public String getParentPolicyName() { return parentPolicy.toString(); }
public boolean isParentAfter(String classname) { ClassFilter filter = parentPolicy.getAfterFilter(); boolean isParentAfter = filter.matchesClassName(ClassLoaderUtils.stripArrayFromClassName(classname)); if (logger.isTraceEnabled()) logger.trace(this + " " + getDomain() + " isParentAfter " + isParentAfter); return isParentAfter; }
@Override protected void beforeGetPackages(Set<Package> packages) { ClassFilter filter = getParentPolicy().getBeforeFilter(); getPackagesFromParent(packages, filter); }
parentPolicy = new ParentPolicy(before, after, description);
@Override protected void afterGetResources(String name, Set<URL> urls) throws IOException { boolean trace = log.isTraceEnabled(); ClassFilter filter = getParentPolicy().getAfterFilter(); if (filter.matchesResourcePath(name)) { if (trace) log.trace(this + " " + name + " matches parent afterFilter=" + filter); getResourcesFromParent(name, urls); } else if (trace) log.trace(this + " " + name + " does NOT match parent afterFilter=" + filter); }
@Override protected Package beforeGetPackage(String name) { boolean trace = log.isTraceEnabled(); ClassFilter filter = getParentPolicy().getBeforeFilter(); if (filter.matchesPackageName(name)) { if (trace) log.trace(this + " " + name + " matches parent beforeFilter=" + filter); return getPackageFromParent(name); } if (trace) log.trace(this + " " + name + " does NOT match parent beforeFilter=" + filter); return null; }
/** * Initialize the classloader system * * @param clazz the original clazz * @param system the system * @param parentFilter the parent filter * @param policy the policy * @return the clazz loaded from the new classloading system */ public Class<?> initializeClassLoader(Class<?> clazz, ClassLoaderSystem system, ClassFilter parentFilter, ClassLoaderPolicy policy) { Set<String> parentPackages = getParentPackages(); String[] parentPkgs = parentPackages.toArray(new String[parentPackages.size()]); PackageClassFilter filter = new PackageClassFilter(parentPkgs); filter.setIncludeJava(true); CombiningClassFilter beforeFilter = CombiningClassFilter.create(filter, parentFilter); ParentPolicy parentPolicy = new ParentPolicy(beforeFilter, ClassFilterUtils.NOTHING); return initializeClassLoader(clazz, system, parentPolicy, policy); }
@Override protected URL afterGetResource(String name) { boolean trace = log.isTraceEnabled(); ClassFilter filter = getParentPolicy().getAfterFilter(); if (filter.matchesResourcePath(name)) { if (trace) log.trace(this + " " + name + " matches parent afterFilter=" + filter); return getResourceFromParent(name); } if (trace) log.trace(this + " " + name + " does NOT match parent afterFilter=" + filter); return null; }
@Override protected void beforeGetResources(String name, Set<URL> urls) throws IOException { boolean trace = log.isTraceEnabled(); ClassFilter filter = getParentPolicy().getBeforeFilter(); if (filter.matchesResourcePath(name)) { if (trace) log.trace(this + " " + name + " matches parent beforeFilter=" + filter); getResourcesFromParent(name, urls); } else if (trace) log.trace(this + " " + name + " does NOT match parent beforeFilter=" + filter); }
/** * Initialize the classloader system * * @param clazz the original clazz * @param system the system * @param parentFilter the parent filter * @param policy the policy * @return the clazz loaded from the new classloading system */ public Class<?> initializeClassLoader(Class<?> clazz, ClassLoaderSystem system, ClassFilter parentFilter, ClassLoaderPolicy policy) { Set<String> parentPackages = getParentPackages(); String[] parentPkgs = parentPackages.toArray(new String[parentPackages.size()]); PackageClassFilter filter = new PackageClassFilter(parentPkgs); filter.setIncludeJava(true); CombiningClassFilter beforeFilter = CombiningClassFilter.create(filter, parentFilter); ParentPolicy parentPolicy = new ParentPolicy(beforeFilter, ClassFilter.NOTHING); return initializeClassLoader(clazz, system, parentPolicy, policy); }