private <T extends Assignable> T createFromCache(Class<T> extensionClass, Archive<?> archive) { Class<T> extensionImplClass = getFromCache(extensionClass); return createExtension(extensionImplClass, archive); }
private <T extends Assignable> T createFromCache(Class<T> extensionClass, Archive<?> archive) { Class<T> extensionImplClass = getFromCache(extensionClass); return createExtension(extensionImplClass, archive); }
/** * Creates a new instance of a <code>extensionClass</code> implementation. The implementation class is found in a * provider-configuration file in META-INF/services/ * * @param <T> * @param extensionClass * @param archive * @return an instance of the <code>extensionClass</code>' implementation. */ private <T extends Assignable> T createFromLoadExtension(Class<T> extensionClass, Archive<?> archive) { ExtensionWrapper extensionWrapper = loadExtensionMapping(extensionClass); if (extensionWrapper == null) { throw new RuntimeException("Failed to load ExtensionMapping"); } Class<T> extensionImplClass = loadExtension(extensionWrapper); if (!extensionClass.isAssignableFrom(extensionImplClass)) { throw new RuntimeException("Found extension impl class " + extensionImplClass.getName() + " not assignable to extension interface " + extensionClass.getName()); } return createExtension(extensionImplClass, archive); }
/** * Creates a new instance of a <code>extensionClass</code> implementation. The implementation class is found in a * provider-configuration file in META-INF/services/ * * @param <T> * @param extensionClass * @param archive * @return an instance of the <code>extensionClass</code>' implementation. */ private <T extends Assignable> T createFromLoadExtension(Class<T> extensionClass, Archive<?> archive) { ExtensionWrapper extensionWrapper = loadExtensionMapping(extensionClass); if (extensionWrapper == null) { throw new RuntimeException("Failed to load ExtensionMapping"); } Class<T> extensionImplClass = loadExtension(extensionWrapper); if (!extensionClass.isAssignableFrom(extensionImplClass)) { throw new RuntimeException("Found extension impl class " + extensionImplClass.getName() + " not assignable to extension interface " + extensionClass.getName()); } return createExtension(extensionImplClass, archive); }