org.apache.commons.discovery.tools
Class DefaultClassHolder<T>

java.lang.Object
  extended by org.apache.commons.discovery.tools.DefaultClassHolder<T>

public class DefaultClassHolder<T>
extends Object

Holder for a default class. Class may be specified by name (String) or class (Class). Using the holder complicates the users job, but minimized # of API's.


Constructor Summary
DefaultClassHolder(Class<S> defaultClass)
          Creates a new holder implementation given the input SPI implementation/extension class.
DefaultClassHolder(String defaultName)
          Creates a new holder implementation given the input SPI implementation/extension class name.
 
Method Summary
<S extends T>
Class<S>
getDefaultClass(SPInterface<T> spi, ClassLoaders loaders)
          Returns the default class, loading it if necessary and verifying that it implements the SPI (this forces the check, no way out..).
 String getDefaultName()
          Returns the hold class name.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultClassHolder

public DefaultClassHolder(Class<S> defaultClass)
Creates a new holder implementation given the input SPI implementation/extension class.

Type Parameters:
S - Any type extends the SPI type
Parameters:
defaultClass - The hold class

DefaultClassHolder

public DefaultClassHolder(String defaultName)
Creates a new holder implementation given the input SPI implementation/extension class name.

Parameters:
defaultName - The hold class name
Method Detail

getDefaultClass

public <S extends T> Class<S> getDefaultClass(SPInterface<T> spi,
                                              ClassLoaders loaders)
Returns the default class, loading it if necessary and verifying that it implements the SPI (this forces the check, no way out..).

Type Parameters:
S - Any type extends the SPI type
Parameters:
spi - non-null SPI
loaders - Used only if class needs to be loaded.
Returns:
The default Class.

getDefaultName

public String getDefaultName()
Returns the hold class name.

Returns:
The hold class name


Copyright © 2002-2011 The Apache Software Foundation. All Rights Reserved.