/** * {@inheritDoc} */ @Override public Resource nextResource() { return nextResourceClass(); }
/** * {@inheritDoc} */ @Override public String nextResourceName() { return nextResourceClass().getName(); }
private S getNextClassInstance() { while (services.hasNext()) { ResourceClass<S> info = services.nextResourceClass(); try { return spi.newInstance(info.loadClass()); } catch (Exception e) { // ignore } catch (LinkageError le) { // ignore } } return null; } };
Class service = services.nextResourceClass().loadClass();
Class service = services.nextResourceClass().loadClass();
ResourceClass resource = iter.nextResourceClass(); try { Class typeClass = resource.loadClass();
Class service = services.nextResourceClass().loadClass();
ResourceClass resource = iter.nextResourceClass(); try { Class typeClass = resource.loadClass();
ResourceClass resource = iter.nextResourceClass(); try { Class typeClass = resource.loadClass();
ResourceClass resource = iter.nextResourceClass(); try { Class typeClass = resource.loadClass();
private ResourceClass<T> getNextResource() { while (inputNames.hasNext() && (classes == null || !classes.hasNext())) { classes = findResourceClasses(inputNames.nextResourceName()); } return (classes != null && classes.hasNext()) ? classes.nextResourceClass() : null; } };
public Object run() { ResourceClassIterator services = getResourceClassIterator(spiClass); Object obj = null; while (obj == null && services.hasNext()) { Class service = services.nextResourceClass().loadClass(); /* service == null * if class resource wasn't loadable */ if (service != null) { /* OK, class loaded.. attempt to instantiate it. */ try { ClassUtils.verifyAncestory(spiClass, service); obj = ClassUtils.newInstance(service, constructorParamTypes, constructorParams); } catch (InvocationTargetException e) { if (e.getTargetException() instanceof java.lang.NoClassDefFoundError) { log.debug(Messages.getMessage("exception00"), e); } else { log.warn(Messages.getMessage("exception00"), e); } } catch (Exception e) { log.warn(Messages.getMessage("exception00"), e); } } } return obj; } });
public Object run() { ResourceClassIterator services = getResourceClassIterator(spiClass); Object obj = null; while (obj == null && services.hasNext()) { Class service = services.nextResourceClass().loadClass(); /* service == null * if class resource wasn't loadable */ if (service != null) { /* OK, class loaded.. attempt to instantiate it. */ try { ClassUtils.verifyAncestory(spiClass, service); obj = ClassUtils.newInstance(service, constructorParamTypes, constructorParams); } catch (InvocationTargetException e) { if (e.getTargetException() instanceof java.lang.NoClassDefFoundError) { log.debug(Messages.getMessage("exception00"), e); } else { log.warn(Messages.getMessage("exception00"), e); } } catch (Exception e) { log.warn(Messages.getMessage("exception00"), e); } } } return obj; } });
public Object run() { ResourceClassIterator services = getResourceClassIterator(spiClass); Object obj = null; while (obj == null && services.hasNext()) { Class service = services.nextResourceClass().loadClass(); /* service == null * if class resource wasn't loadable */ if (service != null) { /* OK, class loaded.. attempt to instantiate it. */ try { ClassUtils.verifyAncestory(spiClass, service); obj = ClassUtils.newInstance(service, constructorParamTypes, constructorParams); } catch (InvocationTargetException e) { if (e.getTargetException() instanceof java.lang.NoClassDefFoundError) { log.debug(Messages.getMessage("exception00"), e); } else { log.warn(Messages.getMessage("exception00"), e); } } catch (Exception e) { log.warn(Messages.getMessage("exception00"), e); } } } return obj; } });
/** * 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; }
ResourceClass<T> info = classes.nextResourceClass(); try { return info.loadClass(); ResourceClass<T> info = classes.nextResourceClass(); try { return info.loadClass();