|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.commons.discovery.tools.SPInterface<T>
T - The SPI typepublic class SPInterface<T>
Represents a Service Programming Interface (spi). - SPI's name - SPI's (provider) class - SPI's (alternate) override property name In addition, while there are many cases where this is NOT usefull, for those in which it is: - expected constructor argument types and parameters values.
| Constructor Summary | |
|---|---|
SPInterface(java.lang.Class<T> provider)
Construct object representing Class provider. |
|
SPInterface(java.lang.Class<T> provider,
java.lang.Class<?>[] constructorParamClasses,
java.lang.Object[] constructorParams)
Construct object representing Class provider. |
|
SPInterface(java.lang.Class<T> spi,
java.lang.String propertyName)
Construct object representing Class provider. |
|
SPInterface(java.lang.Class<T> spi,
java.lang.String propertyName,
java.lang.Class<?>[] constructorParamClasses,
java.lang.Object[] constructorParams)
Construct object representing Class provider. |
|
| Method Summary | ||
|---|---|---|
java.lang.String |
getPropertyName()
Returns the property name to be used for finding the name of the SPI implementation class. |
|
java.lang.Class<T> |
getSPClass()
Returns the SPI class. |
|
java.lang.String |
getSPName()
Returns the SPI class name. |
|
|
newInstance(java.lang.Class<S> impl)
Creates a new instance of the given SPI class. |
|
static
|
newSPInterface(java.lang.Class<T> provider)
Construct object representing Class provider. |
|
static
|
newSPInterface(java.lang.Class<T> provider,
java.lang.Class<?>[] constructorParamClasses,
java.lang.Object[] constructorParams)
Construct object representing Class provider. |
|
static
|
newSPInterface(java.lang.Class<T> provider,
java.lang.String propertyName)
Construct object representing Class provider. |
|
static
|
newSPInterface(java.lang.Class<T> provider,
java.lang.String propertyName,
java.lang.Class<?>[] constructorParamClasses,
java.lang.Object[] constructorParams)
Construct object representing Class provider. |
|
|
verifyAncestory(java.lang.Class<S> impl)
Verifies the given SPI implementation is a SPI specialization. |
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public SPInterface(java.lang.Class<T> provider)
provider.
provider - The SPI class
public SPInterface(java.lang.Class<T> spi,
java.lang.String propertyName)
provider.
spi - The SPI classpropertyName - when looking for the name of a class implementing
the provider class, a discovery strategy may involve looking for
(system or other) properties having either the name of the class
(provider) or the propertyName.
public SPInterface(java.lang.Class<T> provider,
java.lang.Class<?>[] constructorParamClasses,
java.lang.Object[] constructorParams)
provider.
provider - The SPI classconstructorParamClasses - classes representing the
constructor argument types.constructorParams - objects representing the
constructor arguments.
public SPInterface(java.lang.Class<T> spi,
java.lang.String propertyName,
java.lang.Class<?>[] constructorParamClasses,
java.lang.Object[] constructorParams)
provider.
spi - The SPI classpropertyName - when looking for the name of a class implementing
the provider class, a discovery strategy may involve looking for
(system or other) properties having either the name of the class
(provider) or the propertyName.constructorParamClasses - classes representing the
constructor argument types.constructorParams - objects representing the
constructor arguments.| Method Detail |
|---|
public static <T> SPInterface<T> newSPInterface(java.lang.Class<T> provider)
provider.
T - The SPI typeprovider - The SPI class
provider
public static <T> SPInterface<T> newSPInterface(java.lang.Class<T> provider,
java.lang.String propertyName)
provider.
T - The SPI typeprovider - The SPI classpropertyName - when looking for the name of a class implementing
the provider class, a discovery strategy may involve looking for
(system or other) properties having either the name of the class
(provider) or the propertyName.
provider
public static <T> SPInterface<T> newSPInterface(java.lang.Class<T> provider,
java.lang.Class<?>[] constructorParamClasses,
java.lang.Object[] constructorParams)
provider.
T - The SPI typeprovider - The SPI classconstructorParamClasses - classes representing the
constructor argument typesconstructorParams - objects representing the
constructor arguments
provider
public static <T> SPInterface<T> newSPInterface(java.lang.Class<T> provider,
java.lang.String propertyName,
java.lang.Class<?>[] constructorParamClasses,
java.lang.Object[] constructorParams)
provider.
T - The SPI typeprovider - The SPI classpropertyName - when looking for the name of a class implementing
the provider class, a discovery strategy may involve looking for
(system or other) properties having either the name of the class
(provider) or the propertyName.constructorParamClasses - classes representing the
constructor argument typesconstructorParams - objects representing the
constructor arguments
providerpublic java.lang.String getSPName()
public java.lang.Class<T> getSPClass()
public java.lang.String getPropertyName()
public <S extends T> S newInstance(java.lang.Class<S> impl)
throws DiscoveryException,
java.lang.InstantiationException,
java.lang.IllegalAccessException,
java.lang.NoSuchMethodException,
java.lang.reflect.InvocationTargetException
S - Any type extends Timpl - The SPI class has to be instantiated
DiscoveryException - if the class implementing
the SPI cannot be found, cannot be loaded and
instantiated, or if the resulting class does not implement
(or extend) the SPI
java.lang.InstantiationException - see Class.newInstance()
java.lang.IllegalAccessException - see Class.newInstance()
java.lang.NoSuchMethodException - see Class.newInstance()
java.lang.reflect.InvocationTargetException - see Class.newInstance()public <S extends T> void verifyAncestory(java.lang.Class<S> impl)
S - Any type extends Timpl - The SPI instantance
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||