src/main/java/net/nullschool/grib2json/Options.java
package net.nullschool.grib2json;
import com.lexicalscope.jewel.cli.*;
import java.io.File;
/**
* 2013-10-25<p/>
*
* Command line options for the grib2json utility. This interface is proxied by the Jewel Cli options parsing library.
*
* @author Cameron Beccario
*/
@CommandLineInterface(application="grib2json", order=OptionOrder.LONGNAME)
public interface Options {
@Option(longName="help", shortName="h", description="display this help")
boolean getShowHelp();
@Option(longName="names", shortName="n", description="print names of numeric codes")
boolean getPrintNames();
@Option(longName="data", shortName="d", description="print GRIB record data")
boolean getPrintData();
@Option(longName="compact", shortName="c", description="enable compact Json formatting")
boolean isCompactFormat();
@Option(longName="verbose", shortName="v", description="enable logging to stdout")
boolean getEnableLogging();
@Option(
longName="output",
shortName="o",
description="write output to the specified file (default is stdout)",
defaultToNull=true)
File getOutput();
@Unparsed(name="FILE", defaultToNull=true)
File getFile();
// ============================
// options to perform filtering
@Option(
longName={"filter.discipline", "fd"},
description="select records with this discipline",
defaultToNull=true)
Integer getFilterDiscipline();
@Option(
longName={"filter.category", "fc"},
description="select records with this numeric category",
defaultToNull=true)
Integer getFilterCategory();
@Option(
longName={"filter.parameter", "fp"},
description="select records with this numeric parameter, or the string \"wind\" for both u,v components",
defaultToNull=true)
String getFilterParameter();
@Option(
longName={"filter.surface", "fs"},
description="select records with this numeric surface type",
defaultToNull=true)
Integer getFilterSurface();
@Option(
longName={"filter.value", "fv"},
description="select records with this numeric surface value",
defaultToNull=true)
Double getFilterValue();
@Option(
longName="recipe",
shortName="r",
description="a file containing a batch of filter options: fd, fc, fp, fs, fv, and o",
defaultToNull=true)
File getRecipe();
}