in examples-trunk/polling-parent/polling-client/src/main/java/jug/client/util/ConfigurableClasspathArchive.java [63:95]
public static Archive archive(final ClassLoader loader, final URL location, boolean forceDescriptor) {
try {
URL scanXml = loader.getResource(SCAN_XML);
if (scanXml == null && !forceDescriptor) {
return ClasspathArchive.archive(loader, location);
} else if (scanXml == null) {
return new ClassesArchive();
}
// read descriptors
ScanHandler scan;
if (scanXml != null) {
scan = read(scanXml);
} else {
scan = new ScanHandler();
}
final Archive packageArchive = packageArchive(scan.getPackages(), loader, location);
final Archive classesArchive = classesArchive(scan.getPackages(), scan.getClasses(), loader);
if (packageArchive != null && classesArchive != null) {
return new CompositeArchive(classesArchive, packageArchive);
} else if (packageArchive != null) {
return packageArchive;
}
return classesArchive;
} catch (IOException e) {
if (forceDescriptor) {
return new ClassesArchive();
}
return ClasspathArchive.archive(loader, location);
}
}