public class TestSystemFactory extends AbstractPluginFactory<TestSystem>
TestSystem
implementations.Constructor and Description |
---|
TestSystemFactory() |
Modifier and Type | Method and Description |
---|---|
protected Collection<TestSystem> |
findAllInstances()
Finds implementations of the given interface or class and returns instances of them.
|
<T extends TestSystem> |
getAvailable(Class<T> testSystemType) |
protected Class<TestSystem> |
getPluginClass() |
protected int |
getPriority(TestSystem testSystem,
Object... args)
Returns the priority of the given object based on the passed args array.
|
TestSystem |
getTestSystem(String definition)
Convenience method for
getTestSystem(TestSystem.Definition) without having to parse the definition yourself. |
TestSystem |
getTestSystem(TestSystem.Definition definition)
Return the
TestSystem for the given TestSystem.Definition . |
Set<String> |
getTestSystemNames() |
getPlugin, register, removeInstance
protected Class<TestSystem> getPluginClass()
getPluginClass
in class AbstractPluginFactory<TestSystem>
protected int getPriority(TestSystem testSystem, Object... args)
AbstractPluginFactory
AbstractPluginFactory.getPlugin(Object...)
getPriority
in class AbstractPluginFactory<TestSystem>
public TestSystem getTestSystem(TestSystem.Definition definition)
TestSystem
for the given TestSystem.Definition
.
Returns singleton instances for equal definitions.public TestSystem getTestSystem(String definition)
getTestSystem(TestSystem.Definition)
without having to parse the definition yourself.protected Collection<TestSystem> findAllInstances()
AbstractPluginFactory
ServiceLoader
to find implementations and caches results in AbstractPluginFactory.allInstances
which means the same objects are always returned.
If the instances should not be treated as singletons, clone the objects before returning them from AbstractPluginFactory.getPlugin(Object...)
.findAllInstances
in class AbstractPluginFactory<TestSystem>
public <T extends TestSystem> List<T> getAvailable(Class<T> testSystemType)
Copyright © 2023 Liquibase.org. All rights reserved.