package com.lexicalscope.jewel.cli.specification; import com.lexicalscope.fluent.list.FluentList; import com.lexicalscope.fluentreflection.FluentMethod; import com.lexicalscope.jewel.cli.HelpMessage; /** * BETA: unstable may change in future versions * * @author tim * * @param <O> */ public interface OptionsSpecification<O> extends CliSpecification { boolean isSpecified(String key); ParsedOptionSpecification getSpecification(String key); FluentList<ParsedOptionSpecification> getMandatoryOptions(); ParsedOptionSpecification getSpecification(FluentMethod reflectedMethod); void describeTo(HelpMessage helpMessage); }