package org.gambi.tapestry5.cli.modules;
import org.apache.tapestry5.ioc.Configuration;
import org.apache.tapestry5.ioc.MappedConfiguration;
import org.gambi.tapestry5.cli.data.CLIOption;
import org.gambi.tapestry5.cli.data.NestedBean;
import org.gambi.tapestry5.cli.utils.CLISymbolConstants;
public class ComplexConstraintModule {
public static void contributeApplicationDefaults(
MappedConfiguration<String, String> defaults) {
defaults.add(CLISymbolConstants.COMMAND_NAME, "complexTest");
}
/**
* Note that those options are used with the one specified inside
* {@link TestModule}
*
* @param configuration
*/
public void contributeCLIParser(Configuration<CLIOption> configuration) {
configuration.add(new CLIOption("a", "alfa", 1, true,
"alfa-description"));
configuration.add(new CLIOption("b", "beta", 1, true,
"beta-description"));
configuration
.add(new CLIOption("g", "gamma", 1, false, "This is gamma"));
configuration.add(new CLIOption("d", "delta", 1, false, "A delta"));
configuration.add(new CLIOption("v", "vector", 3, false,
"Vector must have 3 elements !"));
configuration.add(new CLIOption("e", "epsilon", 1, false, "epsilon"));
configuration.add(new CLIOption("g", "gamma", 1, true,
"This is anothre definition of gamma"));
configuration.add(new CLIOption("su", "string-url", 1, false,
"string-url"));
configuration.add(new CLIOption("u", "an-url", 1, false,
"This is another URL"));
configuration.add(new CLIOption("o", "orsu", 1, false,
"This is another URL"));
configuration.add(new CLIOption("j", "jonny", 0, false,
"This is another URL"));
configuration.add(new CLIOption("t", "tommy", 1, false,
"This is another URL"));
}
public void contributeApplicationConfigurationSource(
MappedConfiguration<String, Object> configuration) {
configuration.addInstance("NestedBean", NestedBean.class);
}
}