trait Handler[-In, +Out] extends AnyRef
An internally-mutable "handler" that performs a Transformer's input/output logic.
- Source
- Transformer.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(out: HandlerWrite[Out]): Unit
In response to the end of the stream of incoming values, this handler may output any number of final output values via the provided
HandlerWrite
.In response to the end of the stream of incoming values, this handler may output any number of final output values via the provided
HandlerWrite
. The expectation is that a Handler'sfinish
method will only ever be called once before that Handler is discarded, with the exception ofStateless
Transformers, which act as their own Handlers and will be reused.- out
The downstream receiver of output values
- abstract def push(in: In, out: HandlerWrite[Out]): Signal
In response to some input value
in
, this handler may output any number of output values via the providedHandlerWrite
, possibly change its internal state, and signal to the upstream caller whether it wants to continue or stop receiving new inputs.In response to some input value
in
, this handler may output any number of output values via the providedHandlerWrite
, possibly change its internal state, and signal to the upstream caller whether it wants to continue or stop receiving new inputs. Upstream handlers SHOULD avoid making more calls to this handler'spush
after it returnsSignal.Stop
.- in
An input value
- out
The downstream receiver of output values
- returns
A "signal" indicating whether this handler wants to continue receiving inputs afterward
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
step
orfinish
methods.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
step
orfinish
methods.Used internally by Transformers
transform
andtoPipe
methods. - def bubbleUp(err: Throwable): Nothing
In response to an error thrown and caught from a downstream consumer, this handler may modify the exception on its way back upstream.
In response to an error thrown and caught from a downstream consumer, this handler may modify the exception on its way back upstream. Used by the "spac frame" transformer.
- err
An error thrown by some downstream handler
- returns
Nothing, because this method must always throw *something*
- 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 pushMany(ins: Iterator[In], out: HandlerWrite[Out]): Signal
Convenience for calling
push
multiple times, aborting early if the signal becomesStop
in response to any one push.Convenience for calling
push
multiple times, aborting early if the signal becomesStop
in response to any one push.- ins
An iterator which produces input values to push into this handler
- out
The downstream receiver of output values
- returns
A "signal" indicating whether this handler wants to continue receiving inputs afterward
- 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 ofvalue.formatted(formatString)
, or use thef""
string interpolator. In Java 15 and later,formatted
resolves 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.