final case class EitherParser[T, D0](underlying: Aux[T, D0]) extends Parser[Either[Error, T]] with Product with Serializable
- Alphabetic
- By Inheritance
- EitherParser
- Serializable
- Product
- Equals
- Parser
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- type D = D0
Intermediate result type.
Intermediate result type.
Used during parsing, while checking the arguments one after the other.
If parsing succeeds, a
T
can be built from the D at the end of parsing.- Definition Classes
- EitherParser → Parser
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def args: Seq[Arg]
Arguments this parser accepts.
Arguments this parser accepts.
Used to generate help / usage messages.
- Definition Classes
- EitherParser → Parser
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def detailedParse(args: Seq[String]): Either[Error, (Either[Error, T], RemainingArgs)]
Keeps the remaining args before and after a possible -- separated
Keeps the remaining args before and after a possible -- separated
- Definition Classes
- Parser
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def get(d: D): Right[Error, Either[Error, T]]
Get the final result from the final intermediate value.
Get the final result from the final intermediate value.
Typically fails if some mandatory arguments were not specified, so are missing in
d
, preventing building aT
out of it.- returns
in case of success, a
T
wrapped in scala.Right; else, an error message, wrapped in caseapp.core.Error and scala.Left
- Definition Classes
- EitherParser → Parser
- final def getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def init: (underlying)#D
Initial value used to accumulate parsed arguments.
Initial value used to accumulate parsed arguments.
- Definition Classes
- EitherParser → Parser
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def map[U](f: (Either[Error, T]) => U): Aux[U, D]
- Definition Classes
- Parser
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def parse(args: Seq[String]): Either[Error, (Either[Error, T], Seq[String])]
- Definition Classes
- Parser
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- def step(args: List[String], d: D): Either[(Error, List[String]), Option[(D, List[String])]]
Process the next argument.
Process the next argument.
If some arguments were successfully processed (third case in return below), the returned remaining argument sequence must be shorter than the passed
args
.This method doesn't fully process
args
. It tries just to parse *one* argument (typically one option--foo
and its valuebar
, so two elements fromargs
- it can also be only one element in case of a flag), if possible. If you want to fully process a sequence of arguments, seeparse
ordetailedParse
.- returns
if no argument were parsed,
Right(None)
; if an error occurred, an error message wrapped in caseapp.core.Error and scala.Left; else the next intermediate value and the remaining arguments wrapped in scala.Some and scala.Right.
- Definition Classes
- EitherParser → Parser
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val underlying: Aux[T, D0]
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def withHelp: Parser[WithHelp[Either[Error, T]]]
Creates a Parser accepting help / usage arguments, out of this one.