trait Handler[-In, +Out] extends AnyRef
An internally-mutable representation of a Parser, which reacts to inputs from a data stream and eventually produces a result.
- Source
- Parser.scala
- Alphabetic
- By Inheritance
- Handler
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
-   abstract  def finish(): OutSignal the end of the data stream to this handler, forcing it to generate a result. Signal the end of the data stream to this handler, forcing it to generate a result. Handlers may throw exceptions in response to this, such as a handler which wants the first event from an empty stream. Further calls to steporfinishafter the first call tofinishwill result in undefined behavior. The general assumption is that a handler should be discarded after itsfinishmethod is called.- returns
- the final result of this parser 
 
-   abstract  def step(in: In): Either[Out, Handler[In, Out]]Advance the state of this handler by accepting a single input of type In.Advance the state of this handler by accepting a single input of type In. If doing so would cause this parser to complete, return aLeftcontaining the output. Otherwise, return aRightcontaining the next parser state.Handlers are assumed to be internally-mutable, so it is acceptable to simply update some internal state and then return Right(this), although in some cases it will be desirable to return a separate handler entirely.- in
- A single input event from a data stream 
- returns
- If the input would finish the parser, return a - Leftcontaining the result. Otherwise, return a- Rightcontaining a Handler which represents the next parsing state. The handler in a- Rightmay be this handler, or a completely separate one.
 
Concrete Value Members
-   final  def !=(arg0: Any): Boolean- Definition Classes
- AnyRef → Any
 
-   final  def ##: Int- Definition Classes
- AnyRef → Any
 
-  def +(other: String): String
-  def ->[B](y: B): (Handler[In, Out], B)
-   final  def ==(arg0: Any): Boolean- Definition Classes
- AnyRef → Any
 
-   final  def asInstanceOf[T0]: T0- Definition Classes
- Any
 
-    def asTopLevelHandler(caller: SpacTraceElement): Handler[In, Out]Wraps this handler as a "top level" handler, which will inject a SpacTraceElement (representing the current input or the "EOF" signal) to any exception is thrown by this handler when calling its steporfinishmethods.Wraps this handler as a "top level" handler, which will inject a SpacTraceElement (representing the current input or the "EOF" signal) to any exception is thrown by this handler when calling its steporfinishmethods.Used internally by Parser'sparsemethods.
-    def clone(): AnyRef- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
 
-  def ensuring(cond: (Handler[In, Out]) => Boolean, msg: => Any): Handler[In, Out]
-  def ensuring(cond: (Handler[In, Out]) => Boolean): Handler[In, Out]
-  def ensuring(cond: Boolean, msg: => Any): Handler[In, Out]
-  def ensuring(cond: Boolean): Handler[In, Out]
-   final  def eq(arg0: AnyRef): Boolean- Definition Classes
- AnyRef
 
-    def equals(arg0: AnyRef): Boolean- Definition Classes
- AnyRef → Any
 
-    def finalize(): Unit- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
 
-   final  def getClass(): Class[_ <: AnyRef]- Definition Classes
- AnyRef → Any
- Annotations
- @native()
 
-    def hashCode(): Int- Definition Classes
- AnyRef → Any
- Annotations
- @native()
 
-   final  def isInstanceOf[T0]: Boolean- Definition Classes
- Any
 
-   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()
 
-    def stepMany[C[_], In2 <: In](inputs: C[In2])(implicit C: Unconsable[C]): Either[(Out, C[In2]), Handler[In, Out]]Convenience function to call stepon a sequence of inputs all at once.Convenience function to call stepon a sequence of inputs all at once. If thestepreturns a result, this method will return aLeftcontaining that result and the remainder of theinputsthat were not consumed. If theinputsrun out before the handler returns a result from astep, this method will return aRightcontaining the latest state of the handler. This method will not call the handler'sfinish().In general, you won't call this method directly. Instead, use one of the Parser trait's parsemethods.- C
- An - Unconsablecollection, i.e.- Listor- cats.data.Chain
- In2
- Subtype of - In, or- In(to satisfy contravariance)
- inputs
- A sequence of inputs 
- C
- Evidence that the - inputshas a- head/tailsplit operation
- returns
- Either the handler's result paired with the remaining inputs, or the new handler state 
 
-   final  def synchronized[T0](arg0: => T0): T0- Definition Classes
- AnyRef
 
-    def toString(): String- Definition Classes
- AnyRef → Any
 
-   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()
 
Deprecated Value Members
-    def formatted(fmtstr: String): String- Implicit
- This member is added by an implicit conversion from Handler[In, Out] toStringFormat[Handler[In, Out]] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @deprecated @inline()
- Deprecated
- (Since version 2.12.16) Use - formatString.format(value)instead of- value.formatted(formatString), or use the- f""string interpolator. In Java 15 and later,- formattedresolves to the new method in String which has reversed parameters.
 
-    def →[B](y: B): (Handler[In, Out], B)- Implicit
- This member is added by an implicit conversion from Handler[In, Out] toArrowAssoc[Handler[In, Out]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @deprecated
- Deprecated
- (Since version 2.13.0) Use - ->instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.