/** * @return the DiscoverClasses instance to use to locate services. * This object is lazily created if it has not been configured. */ public DiscoverClasses getDiscoverClasses() { if ( discovery == null ) { ClassLoaders loaders = ClassLoaders.getAppLoaders(TagLibrary.class, getClass(), false); discovery = new DiscoverClasses(loaders); } return discovery; }
/** * @return the DiscoverClasses instance to use to locate services. * This object is lazily created if it has not been configured. */ public DiscoverClasses getDiscoverClasses() { if ( discovery == null ) { ClassLoaders loaders = ClassLoaders.getAppLoaders(TagLibrary.class, getClass(), false); discovery = new DiscoverClasses(loaders); } return discovery; }
/** * @return the DiscoverClasses instance to use to locate services. * This object is lazily created if it has not been configured. */ public DiscoverClasses getDiscoverClasses() { if ( discovery == null ) { ClassLoaders loaders = ClassLoaders.getAppLoaders(TagLibrary.class, getClass(), false); discovery = new DiscoverClasses(loaders); } return discovery; }
/** * @return the DiscoverClasses instance to use to locate services. * This object is lazily created if it has not been configured. */ public DiscoverClasses getDiscoverClasses() { if ( discovery == null ) { ClassLoaders loaders = ClassLoaders.getAppLoaders(TagLibrary.class, getClass(), false); discovery = new DiscoverClasses(loaders); } return discovery; }
public static ResourceClassIterator getResourceClassIterator(Class spi) { ResourceNameIterator it = getNameDiscoverer().findResourceNames(spi.getName()); return new DiscoverClasses(loaders).findResourceClasses(it); }
public static ResourceClassIterator getResourceClassIterator(Class spi) { ResourceNameIterator it = getNameDiscoverer().findResourceNames(spi.getName()); return new DiscoverClasses(loaders).findResourceClasses(it); }
public static ResourceClassIterator getResourceClassIterator(Class spi) { ResourceNameIterator it = getNameDiscoverer().findResourceNames(spi.getName()); return new DiscoverClasses(loaders).findResourceClasses(it); }
ResourceNameIterator classes = new DiscoverClasses().findResourceClasses(Object.class); while (classes.hasNext()) { String className = classes.nextResourceClass().getName(); Class clazz = classes.nextResourceClass().loadClass(); }
/** * Returns the default class, loading it if necessary * and verifying that it implements the SPI * (this forces the check, no way out..). * * @param <S> Any type extends the SPI type * @param spi non-null SPI * @param loaders Used only if class needs to be loaded. * @return The default Class. */ public <S extends T> Class<S> getDefaultClass(SPInterface<T> spi, ClassLoaders loaders) { if (defaultClass == null) { DiscoverClasses<T> classDiscovery = new DiscoverClasses<T>(loaders); ResourceClassIterator<T> classes = classDiscovery.findResourceClasses(getDefaultName()); if (classes.hasNext()) { ResourceClass<T> info = classes.nextResourceClass(); try { defaultClass = info.loadClass(); } catch (Exception e) { // ignore } } } if (defaultClass != null) { spi.verifyAncestory(defaultClass); } @SuppressWarnings("unchecked") // the SPInterface.verifyAncestory already asserted Class<S> returned = (Class<S>) defaultClass; return returned; }
(new DiscoverClasses<T>(loaders)).findResourceClasses(servicesIter);
DiscoverClasses<T> classDiscovery = new DiscoverClasses<T>(loaders); (new DiscoverClasses<T>(loaders)).findResourceClasses(classIter);