com.redhat.ceylon.common.tool.Subtool Maven / Gradle / Ivy
package com.redhat.ceylon.common.tool;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/** Must be not be annotated with @Argument or @Option or @OptionArgument
* Must be the *last* @Argument by order -- all following arguments are
* implictly consumed by the subtool
* Must nominate a ToolLoader via a @ParserFactory
* (will need to provide some base classes to make that easier
* e.g. EnumToolLoader)
* What about argument rearrangement? In theory it shouldn't be needed should it?
* What about the role of -- with subtools?
*/
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Subtool {
String argumentName() default "subcommand";
int order() default 0;
Class extends Tool>[] classes() default {};
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy