public abstract class PluginRegistrySupport<T extends Plugin<S>,S> extends java.lang.Object implements PluginRegistry<T,S>, java.lang.Iterable<T>
PluginRegistry implementations. Implements an initialization mechanism triggered on forst
invocation of getPlugins().| Modifier and Type | Field and Description |
|---|---|
private boolean |
initialized |
private java.util.List<T> |
plugins |
| Constructor and Description |
|---|
PluginRegistrySupport(java.util.List<? extends T> plugins)
Creates a new
PluginRegistrySupport instance using the given plugins. |
| Modifier and Type | Method and Description |
|---|---|
java.util.List<T> |
getPlugins()
Returns all registered plugins.
|
protected java.util.List<T> |
initialize(java.util.List<T> plugins)
Callback to initialize the plugin
List. |
java.util.Iterator<T> |
iterator() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcontains, countPlugins, getPluginFor, getPluginFor, getPluginFor, getPluginsFor, getPluginsFor, getPluginsFor, hasPluginForpublic PluginRegistrySupport(java.util.List<? extends T> plugins)
PluginRegistrySupport instance using the given plugins.plugins - must not be null.public java.util.List<T> getPlugins()
getPlugins in interface PluginRegistry<T extends Plugin<S>,S>protected java.util.List<T> initialize(java.util.List<T> plugins)
List. Will create a defensive copy of the List to potentially
unwrap a List proxy. Will filter null values from the source list as well.plugins - must not be null.