package schema
Ordering
- Alphabetic
Visibility
- Public
- Protected
Type Members
- final case class GlobalArgsSchema(parserDef: ParserDef, doc: Option[String], notes: Option[String]) extends Product with Serializable
- trait ParserDef extends AnyRef
Example:
Example:
object Options extends ParserDef { final val logLevelRootParam = arg("log-level-root", "ll", "root log level", "{trace|debug|info|warn|error|critical}") final val logFormatParam = arg("log-format", "lf", "log format", "{text|json}") final val configParam = arg("config", "c", "path to config file", "<path>") final val dumpContext = flag("debug-dump-graph", "dump DI graph for debugging") final val use = arg("use", "u", "activate a choice on functionality axis", "<axis>:<choice>") }
- final case class ParserSchema(globalArgsSchema: GlobalArgsSchema, descriptors: Seq[RoleParserSchema]) extends Product with Serializable
TODOs:
TODOs:
- default values
- varargs
- required parameters
- automated decoder: ParserSchema[CaseClass](args: RoleAppArguments): CaseClass
- decoding MUST fail on
- unknown parameters
- unallowed free args
- unary args used multiple times
- missing required parameters
- final case class RoleParserSchema(id: String, parser: ParserDef, doc: Option[String], notes: Option[String], freeArgsAllowed: Boolean) extends Product with Serializable
Value Members
- object ParserDef
- object ParserSchemaFormatter