package cucumber.runtime.java;
import cucumber.api.java.ObjectFactory;
class SingletonFactory implements ObjectFactory {
private Object singleton;
public SingletonFactory() {
this(null);
}
public SingletonFactory(Object singleton) {
this.singleton = singleton;
}
@Override
public void start() {
}
@Override
public void stop() {
}
@Override
public boolean addClass(Class<?> clazz) {
return true;
}
@Override
public <T> T getInstance(Class<T> type) {
if (singleton == null) {
throw new IllegalStateException("No object is set");
}
return type.cast(singleton);
}
public void setInstance(Object o) {
singleton = o;
}
}