public abstract class PluginManager<T>
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private java.util.List<java.lang.String> |
keys |
private WireFeedGenerator |
parentGenerator |
private WireFeedParser |
parentParser |
private java.util.List<T> |
pluginsList |
private java.util.Map<java.lang.String,T> |
pluginsMap |
private java.lang.String[] |
propertyValues |
Modifier | Constructor and Description |
---|---|
protected |
PluginManager(java.lang.String propertyKey)
Creates a PluginManager
|
protected |
PluginManager(java.lang.String propertyKey,
WireFeedParser parentParser,
WireFeedGenerator parentGenerator) |
Modifier and Type | Method and Description |
---|---|
private java.lang.Class<T>[] |
getClasses()
Loads and returns the classes defined in the properties files.
|
protected abstract java.lang.String |
getKey(T obj) |
protected java.util.List<java.lang.String> |
getKeys() |
protected T |
getPlugin(java.lang.String key) |
protected java.util.Map<java.lang.String,T> |
getPluginMap() |
protected java.util.List<T> |
getPlugins() |
private void |
loadPlugins() |
private final java.lang.String[] propertyValues
private final java.util.List<java.lang.String> keys
private final WireFeedParser parentParser
private final WireFeedGenerator parentGenerator
private java.util.Map<java.lang.String,T> pluginsMap
private java.util.List<T> pluginsList
protected PluginManager(java.lang.String propertyKey)
propertyKey
- property key defining the plugins classesprotected PluginManager(java.lang.String propertyKey, WireFeedParser parentParser, WireFeedGenerator parentGenerator)
protected abstract java.lang.String getKey(T obj)
protected java.util.List<java.lang.String> getKeys()
protected java.util.List<T> getPlugins()
protected java.util.Map<java.lang.String,T> getPluginMap()
protected T getPlugin(java.lang.String key)
private void loadPlugins()
private java.lang.Class<T>[] getClasses() throws java.lang.ClassNotFoundException
java.lang.ClassNotFoundException
- thrown if one of the classes defined in the
properties file cannot be loaded and hard failure is ON.