public class ExtensionsBag
extends java.lang.Object
Constructor and Description |
---|
ExtensionsBag(java.lang.Class<?>... extensionTypes)
Create a new bag that will hold extensions of given types
|
Modifier and Type | Method and Description |
---|---|
void |
addPlugin(java.lang.String className)
Given a class name, will inspect it and extract all valid extension types
|
<T> T |
getPlugin(java.lang.String name,
java.lang.Class<T> type,
java.lang.Object... initParams)
Instantiates a plugin gicen extension type, name and initialization arguments
|
<T> java.util.LinkedHashMap<java.lang.String,java.lang.Class<? extends T>> |
listExtensions(java.lang.Class<T> type)
Retrieves a list of classes implementing the given extension type
|
public ExtensionsBag(java.lang.Class<?>... extensionTypes)
extensionTypes
- The types to be stored in this bagpublic void addPlugin(java.lang.String className)
className
- The class to be inspected (will not be initialized at this time)public <T> java.util.LinkedHashMap<java.lang.String,java.lang.Class<? extends T>> listExtensions(java.lang.Class<T> type)
type
- The extension type of interestpublic <T> T getPlugin(java.lang.String name, java.lang.Class<T> type, java.lang.Object... initParams)
name
- The name of the plugin to instantiatetype
- The extension typeinitParams
- The initialization arguments if applicablenull
if an error occursCopyright © 2004-2014 FEUP-LSTS and Neptus developers. All Rights Reserved.