class ReceiveBuilder extends AnyRef
Used for building a partial function for org.apache.pekko.actor.AbstractActor#createReceive AbstractActor.createReceive()
.
There is both a match on type only, and a match on type and predicate.
Inside an actor you can use it like this:
Example:
@Override public Receive createReceive() { return receiveBuilder() .match(Double.class, d -> { getSender().tell(d.isNaN() ? 0 : d, self()); }) .match(Integer.class, i -> { getSender().tell(i * 10, self()); }) .match(String.class, s -> s.startsWith("foo"), s -> { getSender().tell(s.toUpperCase(), self()); }) .build() ); }
- Source
- ReceiveBuilder.java
- Alphabetic
- By Inheritance
- ReceiveBuilder
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new ReceiveBuilder()
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- Implicit
- This member is added by an implicit conversion from ReceiveBuilder toany2stringadd[ReceiveBuilder] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- def ->[B](y: B): (ReceiveBuilder, B)
- Implicit
- This member is added by an implicit conversion from ReceiveBuilder toArrowAssoc[ReceiveBuilder] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def addStatement(statement: PartialFunction[AnyRef, BoxedUnit]): Unit
- Attributes
- protected[pf]
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def build(): Receive
Build a
scala.PartialFunction
from this builder.Build a
scala.PartialFunction
from this builder. After this call the builder will be reset.- returns
a PartialFunction for this builder.
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- def ensuring(cond: (ReceiveBuilder) => Boolean, msg: => Any): ReceiveBuilder
- Implicit
- This member is added by an implicit conversion from ReceiveBuilder toEnsuring[ReceiveBuilder] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (ReceiveBuilder) => Boolean): ReceiveBuilder
- Implicit
- This member is added by an implicit conversion from ReceiveBuilder toEnsuring[ReceiveBuilder] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): ReceiveBuilder
- Implicit
- This member is added by an implicit conversion from ReceiveBuilder toEnsuring[ReceiveBuilder] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): ReceiveBuilder
- Implicit
- This member is added by an implicit conversion from ReceiveBuilder toEnsuring[ReceiveBuilder] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def match[P](type: Class[P], externalPredicate: BooleanSupplier, apply: UnitApply[P]): ReceiveBuilder
Add a new case statement to this builder.
Add a new case statement to this builder.
- type
a type to match the argument against
- externalPredicate
a external predicate that will be evaluated if the type matches
- apply
an action to apply to the argument if the type matches and the predicate returns true
- returns
a builder with the case statement added
- def match[P](type: Class[P], predicate: TypedPredicate[P], apply: UnitApply[P]): ReceiveBuilder
Add a new case statement to this builder.
Add a new case statement to this builder.
- type
a type to match the argument against
- predicate
a predicate that will be evaluated on the argument if the type matches
- apply
an action to apply to the argument if the type matches and the predicate returns true
- returns
a builder with the case statement added
- def match[P](type: Class[P], apply: UnitApply[P]): ReceiveBuilder
Add a new case statement to this builder.
Add a new case statement to this builder.
- type
a type to match the argument against
- apply
an action to apply to the argument if the type matches
- returns
a builder with the case statement added
- def matchAny(externalPredicate: BooleanSupplier, apply: UnitApply[AnyRef]): ReceiveBuilder
Add a new case statement to this builder, that pass the test of the predicate.
Add a new case statement to this builder, that pass the test of the predicate.
- externalPredicate
an external predicate that will always be evaluated.
- apply
an action to apply to the argument
- returns
a builder with the case statement added
- def matchAny(apply: UnitApply[AnyRef]): ReceiveBuilder
Add a new case statement to this builder, that matches any argument.
Add a new case statement to this builder, that matches any argument.
- apply
an action to apply to the argument
- returns
a builder with the case statement added
- def matchEquals[P](object: P, externalPredicate: BooleanSupplier, apply: UnitApply[P]): ReceiveBuilder
Add a new case statement to this builder.
Add a new case statement to this builder.
- object
the object to compare equals with
- externalPredicate
an external predicate that will be evaluated if the object compares equal
- apply
an action to apply to the argument if the object compares equal
- returns
a builder with the case statement added
- Annotations
- @SuppressWarnings()
- def matchEquals[P](object: P, predicate: TypedPredicate[P], apply: UnitApply[P]): ReceiveBuilder
Add a new case statement to this builder.
Add a new case statement to this builder.
- object
the object to compare equals with
- predicate
a predicate that will be evaluated on the argument if the object compares equal
- apply
an action to apply to the argument if the object compares equal
- returns
a builder with the case statement added
- def matchEquals[P](object: P, apply: UnitApply[P]): ReceiveBuilder
Add a new case statement to this builder.
Add a new case statement to this builder.
- object
the object to compare equals with
- apply
an action to apply to the argument if the object compares equal
- returns
a builder with the case statement added
- def matchUnchecked[P](type: Class[_ <: AnyRef], externalPredicate: BooleanSupplier, apply: UnitApply[P]): ReceiveBuilder
Add a new case statement to this builder without compile time type check.
Add a new case statement to this builder without compile time type check. Should normally not be used, but when matching on class with generic type argument it can be useful, e.g.
List.class
and(List<String> list) -> {}
.- type
a type to match the argument against
- externalPredicate
an external predicate that will be evaluated if the type matches
- apply
an action to apply to the argument if the type matches and the predicate returns true
- returns
a builder with the case statement added
- Annotations
- @SuppressWarnings()
- def matchUnchecked[P](type: Class[_ <: AnyRef], predicate: TypedPredicate[_ <: AnyRef], apply: UnitApply[P]): ReceiveBuilder
Add a new case statement to this builder without compile time type check.
Add a new case statement to this builder without compile time type check. Should normally not be used, but when matching on class with generic type argument it can be useful, e.g.
List.class
and(List<String> list) -> {}
.- type
a type to match the argument against
- predicate
a predicate that will be evaluated on the argument if the type matches
- apply
an action to apply to the argument if the type matches and the predicate returns true
- returns
a builder with the case statement added
- Annotations
- @SuppressWarnings()
- def matchUnchecked(type: Class[_ <: AnyRef], apply: UnitApply[_ <: AnyRef]): ReceiveBuilder
Add a new case statement to this builder without compile time type check.
Add a new case statement to this builder without compile time type check. Should normally not be used, but when matching on class with generic type argument it can be useful, e.g.
List.class
and(List<String> list) -> {}
.- type
a type to match the argument against
- apply
an action to apply to the argument if the type matches
- returns
a builder with the case statement added
- Annotations
- @SuppressWarnings()
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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 wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from ReceiveBuilder toStringFormat[ReceiveBuilder] 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): (ReceiveBuilder, B)
- Implicit
- This member is added by an implicit conversion from ReceiveBuilder toArrowAssoc[ReceiveBuilder] 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.