package org.gambi.tapestry5.cli.services.impl;
import java.util.List;
import org.gambi.tapestry5.cli.services.CLIOptionProvider;
import org.gambi.tapestry5.cli.services.CLIOptionSource;
public class CLIOptionSourceImpl implements CLIOptionSource {
private List<CLIOptionProvider> providers;
public CLIOptionSourceImpl(List<CLIOptionProvider> providers) {
this.providers = providers;
}
public String valueForOption(String optionName) {
for (CLIOptionProvider provider : providers) {
if (provider.valueForOption(optionName) != null) {
return provider.valueForOption(optionName);
}
}
return null;
}
public String[] valuesForOption(String optionName) {
for (CLIOptionProvider provider : providers) {
if (provider.valuesForOption(optionName) != null) {
return provider.valuesForOption(optionName);
}
}
return null;
}
public String valueForInput(int inputPosition) {
for (CLIOptionProvider provider : providers) {
if (provider.valueForInput(inputPosition) != null) {
return provider.valueForInput(inputPosition);
}
}
return null;
}
}