/** * Find an command option by its name, this will look through the command hierarchy. * * @param name the option name * @return the option or null */ public final OptionDescriptor resolveOption(String name) { OptionDescriptor option = getOption(name); if (option == null) { CommandDescriptor<T> owner = getOwner(); if (owner != null) { option = owner.resolveOption(name); } } return option; }
public void testOptionWithUpperCase() throws IntrospectionException { class A { @Option(names = "I") private int i; } CommandDescriptor<Instance<A>> ai = CommandFactory.DEFAULT.create(A.class); assertEquals(1,ai.getOptions().size()); OptionDescriptor i = ai.getOption("-I"); assertEquals(Arrays.asList("I"),i.getNames()); }
public void testOptionIntListType() throws IntrospectionException { class A { @Option(names = "o") List<Integer> o; } CommandDescriptor<Instance<A>> c = CommandFactory.DEFAULT.create(A.class); OptionDescriptor i = c.getOption("-o"); assertEquals(Multiplicity.MULTI, i.getMultiplicity()); assertEquals(ValueType.INTEGER, i.getType()); }
public void testOption() throws IntrospectionException { class A { @Option(names = "i") private int i; } CommandDescriptor<Instance<A>> ai = CommandFactory.DEFAULT.create(A.class); assertEquals(1,ai.getOptions().size()); OptionDescriptor i = ai.getOption("-i"); assertEquals(Arrays.asList("i"),i.getNames()); }
public void testOptionStringListType() throws IntrospectionException { class A { @Option(names = "o") List<String> o; } CommandDescriptor<Instance<A>> c = CommandFactory.DEFAULT.create(A.class); OptionDescriptor i = c.getOption("-o"); assertEquals(Multiplicity.MULTI, i.getMultiplicity()); assertEquals(ValueType.STRING, i.getType()); }
public void testAnnotation() throws IntrospectionException { class A { @Level String l; } CommandDescriptor<Instance<A>> a = CommandFactory.DEFAULT.create(A.class); assertEquals(1,a.getOptions().size()); OptionDescriptor i = a.getOption("-l"); assertEquals(Arrays.asList("l"),i.getNames()); assertTrue(i.getAnnotation() instanceof Level); } }
public void testOptionBooleanType() throws IntrospectionException { class A { @Option(names = "o") boolean o; } CommandDescriptor<Instance<A>> c = CommandFactory.DEFAULT.create(A.class); OptionDescriptor i = c.getOption("-o"); assertEquals(Multiplicity.SINGLE, i.getMultiplicity()); assertEquals(false, i.isRequired()); assertEquals(ValueType.BOOLEAN, i.getType()); }
public void testOptionBooleanWrapperType() throws IntrospectionException { class A { @Option(names = "o") Boolean o; } CommandDescriptor<Instance<A>> c = CommandFactory.DEFAULT.create(A.class); OptionDescriptor i = c.getOption("-o"); assertEquals(Multiplicity.SINGLE, i.getMultiplicity()); assertEquals(false, i.isRequired()); assertEquals(ValueType.BOOLEAN, i.getType()); }
public void testOptionStringType() throws IntrospectionException { class A { @Option(names = "o") String o; } CommandDescriptor<Instance<A>> c = CommandFactory.DEFAULT.create(A.class); OptionDescriptor i = c.getOption("-o"); assertEquals(Multiplicity.SINGLE, i.getMultiplicity()); assertEquals(false, i.isRequired()); assertEquals(ValueType.STRING, i.getType()); }
public void testOptionEnumType() throws IntrospectionException { class A { @Option(names = "o") RetentionPolicy o; } CommandDescriptor<Instance<A>> c = CommandFactory.DEFAULT.create(A.class); OptionDescriptor i = c.getOption("-o"); assertEquals(Multiplicity.SINGLE, i.getMultiplicity()); assertEquals(false, i.isRequired()); assertEquals(ValueType.ENUM, i.getType()); }
public void testParameterMetaDescription2() throws Exception { class A { @Command void m(@Bar String s) {} } CommandDescriptor<Instance<A>> c = CommandFactory.DEFAULT.create(A.class); CommandDescriptor<Instance<A>> m = c.getSubordinate("m"); OptionDescriptor a = m.getOption("-a"); assertEquals("", a.getUsage()); assertEquals(new Description(), a.getDescription()); }
public void testOptionIntType() throws IntrospectionException { class A { @Option(names = "o") int o; } CommandDescriptor<Instance<A>> c = CommandFactory.DEFAULT.create(A.class); OptionDescriptor i = c.getOption("-o"); assertEquals(Multiplicity.SINGLE, i.getMultiplicity()); assertEquals(false, i.isRequired()); assertEquals(ValueType.INTEGER, i.getType()); }
public void testOptionIntWrapperType() throws IntrospectionException { class A { @Option(names = "o") Integer o; } CommandDescriptor<Instance<A>> c = CommandFactory.DEFAULT.create(A.class); OptionDescriptor i = c.getOption("-o"); assertEquals(Multiplicity.SINGLE, i.getMultiplicity()); assertEquals(false, i.isRequired()); assertEquals(ValueType.INTEGER, i.getType()); }
public void testParameterMetaDescription1() throws Exception { class A { @Command void m(@Foo String s) {} } CommandDescriptor<Instance<A>> c = CommandFactory.DEFAULT.create(A.class); CommandDescriptor<Instance<A>> m = c.getSubordinate("m"); OptionDescriptor a = m.getOption("-a"); assertEquals("foo_usage", a.getUsage()); assertEquals("foo_usage", a.getDescription().getUsage()); assertEquals("foo_man", a.getDescription().getMan()); }
public void testParameterMetaDescription3() throws Exception { class A { @Command void m( @Usage("option_usage") @Foo String s) {} } CommandDescriptor<Instance<A>> c = CommandFactory.DEFAULT.create(A.class); CommandDescriptor<Instance<A>> m = c.getSubordinate("m"); OptionDescriptor a = m.getOption("-a"); assertEquals("option_usage", a.getUsage()); assertEquals("option_usage", a.getDescription().getUsage()); assertEquals("foo_man", a.getDescription().getMan()); } }
public void testParameterDescription() throws Exception { class A { @Command void m( @Usage("option_usage") @Man("option_man") @Option(names = "a") String s) {} } CommandDescriptor<Instance<A>> c = CommandFactory.DEFAULT.create(A.class); CommandDescriptor<Instance<A>> m = c.getSubordinate("m"); OptionDescriptor a = m.getOption("-a"); assertEquals("option_usage", a.getUsage()); assertEquals("option_usage", a.getDescription().getUsage()); assertEquals("option_man", a.getDescription().getMan()); }
/** * Find an command option by its name, this will look through the command hierarchy. * * @param name the option name * @return the option or null */ public final OptionDescriptor resolveOption(String name) { OptionDescriptor option = getOption(name); if (option == null) { CommandDescriptor<T> owner = getOwner(); if (owner != null) { option = owner.resolveOption(name); } } return option; }
/** * Find an command option by its name, this will look through the command hierarchy. * * @param name the option name * @return the option or null */ public final OptionDescriptor findOption(String name) { OptionDescriptor option = getOption(name); if (option == null) { CommandDescriptor<T> owner = getOwner(); if (owner != null) { option = owner.findOption(name); } } return option; }