/** * 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); }
/** * {@inheritDoc} * * @see org.jboss.shrinkwrap.api.ExtensionLoader#getExtensionFromExtensionMapping(java.lang.Class) */ public <T extends Assignable> String getExtensionFromExtensionMapping(final Class<T> type) { ExtensionWrapper extensionWrapper = extensionMappings.get(type); if (extensionWrapper == null) { loadExtensionMapping(type); } extensionWrapper = extensionMappings.get(type); if (extensionWrapper == null) { throw UnknownExtensionTypeExceptionDelegator.newExceptionInstance(type); } return extensionWrapper.getProperty("extension"); }
/** * {@inheritDoc} * * @see org.jboss.shrinkwrap.api.ExtensionLoader#getExtensionFromExtensionMapping(java.lang.Class) */ public <T extends Assignable> String getExtensionFromExtensionMapping(final Class<T> type) { ExtensionWrapper extensionWrapper = extensionMappings.get(type); if (extensionWrapper == null) { loadExtensionMapping(type); } extensionWrapper = extensionMappings.get(type); if (extensionWrapper == null) { throw UnknownExtensionTypeExceptionDelegator.newExceptionInstance(type); } return extensionWrapper.getProperty("extension"); }
/** * 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); }
/** * {@inheritDoc} * * @see org.jboss.shrinkwrap.api.ExtensionLoader#getArchiveFormatFromExtensionMapping(java.lang.Class) */ public <T extends Archive<T>> ArchiveFormat getArchiveFormatFromExtensionMapping(final Class<T> type) { ExtensionWrapper extensionWrapper = extensionMappings.get(type); if (extensionWrapper == null) { loadExtensionMapping(type); } extensionWrapper = extensionMappings.get(type); if (extensionWrapper == null) { throw UnknownExtensionTypeExceptionDelegator.newExceptionInstance(type); } String archiveFormat = extensionWrapper.getProperty("archiveFormat"); return ArchiveFormat.valueOf(archiveFormat); }
/** * {@inheritDoc} * * @see org.jboss.shrinkwrap.api.ExtensionLoader#getArchiveFormatFromExtensionMapping(java.lang.Class) */ public <T extends Archive<T>> ArchiveFormat getArchiveFormatFromExtensionMapping(final Class<T> type) { ExtensionWrapper extensionWrapper = extensionMappings.get(type); if (extensionWrapper == null) { loadExtensionMapping(type); } extensionWrapper = extensionMappings.get(type); if (extensionWrapper == null) { throw UnknownExtensionTypeExceptionDelegator.newExceptionInstance(type); } String archiveFormat = extensionWrapper.getProperty("archiveFormat"); return ArchiveFormat.valueOf(archiveFormat); }