Package org.apache.webbeans.spi
Interface BeanArchiveService
-
public interface BeanArchiveService
This Service returns information about scanned beans.xml files. The information needs to be available untilrelease()
gets invoked. This is usually at the end of the deployment phase. This SPI uses URLs as parameters because many virtual file systems do not store their resources on a file system and also are not able to move from the externalForm back to the original URL.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
BeanArchiveService.BeanArchiveInformation
Contains information about a single Bean Definition Archive (BDA).static class
BeanArchiveService.BeanDiscoveryMode
Defines how CDI beans got discovered for each JAR or ClassPath entry (aka BDA).
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description BeanArchiveService.BeanArchiveInformation
getBeanArchiveInformation(URL beanArchiveUrl)
The beanArchiveUrl might either point to a beans.xml file or the root of a JAR or other ClassPath entry.Set<URL>
getRegisteredBeanArchives()
This method is useful to later on know which JARs and ClassPath entries did get scanned.void
release()
Release the gathered information to free up memory.
-
-
-
Method Detail
-
getBeanArchiveInformation
BeanArchiveService.BeanArchiveInformation getBeanArchiveInformation(URL beanArchiveUrl)
The beanArchiveUrl might either point to a beans.xml file or the root of a JAR or other ClassPath entry. In case there is no beans.xml (implicit bean archive), then we assume the 'default' behaviour of only scanning classes with 'bean defining annotations'.- Returns:
- the
BeanArchiveService.BeanArchiveInformation
of the given URL. - See Also:
BeanArchiveService.BeanDiscoveryMode
-
getRegisteredBeanArchives
Set<URL> getRegisteredBeanArchives()
This method is useful to later on know which JARs and ClassPath entries did get scanned. Please note that we use a special UrlSet internally which only holds the externalForm as key and thus does no DNS resolving via the URL.- Returns:
- a Set of all registered Bean Archives.
-
release
void release()
Release the gathered information to free up memory. This should get called at the end of the deployment phase.
-
-