package restx.factory;
import java.util.Collections;
import java.util.Set;
/**
* A machine that doesn't build any component.
*/
public class NoopFactoryMachine implements FactoryMachine {
public static final FactoryMachine INSTANCE = new NoopFactoryMachine();
private NoopFactoryMachine() {
}
@Override
public boolean canBuild(Name<?> name) {
return false;
}
@Override
public <T> MachineEngine<T> getEngine(Name<T> name) {
throw new UnsupportedOperationException("Noop machine can't build any component");
}
@Override
public <T> Set<Name<T>> nameBuildableComponents(Class<T> componentClass) {
return Collections.emptySet();
}
@Override
public int priority() {
return 0;
}
@Override
public String toString() {
return "NoopFactoryMachine";
}
}