Package org.fluentlenium.configuration
Class AbstractFactoryRegistryImpl<T extends Factory,R extends ReflectiveFactory>
- java.lang.Object
-
- org.fluentlenium.configuration.AbstractFactoryRegistryImpl<T,R>
-
- Type Parameters:
T- type of factoriesR- type of reflective factories
- Direct Known Subclasses:
CapabilitiesRegistryImpl,WebDriversRegistryImpl
public abstract class AbstractFactoryRegistryImpl<T extends Factory,R extends ReflectiveFactory> extends java.lang.ObjectAbstract registry of FluentLenium factories.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Map<java.lang.String,T>factoriesprotected java.lang.Class<T>factoryTypeprotected java.lang.Class<R>reflectiveFactoryType
-
Constructor Summary
Constructors Constructor Description AbstractFactoryRegistryImpl(java.lang.Class<T> factoryType, java.lang.Class<R> reflectiveFactoryType)Creates a new factory registry.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description Tget(java.lang.String name)Get the factory registered under the given name.TgetDefault()Get the default factory.protected abstract TgetDefault(java.util.List<T> filteredFactories)Get the default factory from given list of available factories.protected abstract voidhandleNoFactoryAvailable(java.lang.String name)Handle the case when no factory is available for given nameprotected abstract RnewReflectiveInstance(java.lang.String name)Creates an instance of reflective factory.voidregister(T factory)Register a new factory.
-
-
-
Method Detail
-
getDefault
public T getDefault()
Get the default factory.- Returns:
- default factory
-
getDefault
protected abstract T getDefault(java.util.List<T> filteredFactories)
Get the default factory from given list of available factories.- Parameters:
filteredFactories- available factories- Returns:
- default factory
-
get
public T get(java.lang.String name)
Get the factory registered under the given name.- Parameters:
name- name of the factory- Returns:
- factory
-
handleNoFactoryAvailable
protected abstract void handleNoFactoryAvailable(java.lang.String name)
Handle the case when no factory is available for given name- Parameters:
name- request factory name
-
newReflectiveInstance
protected abstract R newReflectiveInstance(java.lang.String name)
Creates an instance of reflective factory.- Parameters:
name- name of the instance to create.- Returns:
- new instance
-
register
public final void register(T factory)
Register a new factory.It will use
FactoryNamevalue as the default name.It will also register the factory under names returned by
FactoryNames.getNames()} if it implementsFactoryNames.- Parameters:
factory- factory to register
-
-