abstract class JavaPartialFunction[A, B] extends AbstractPartialFunction[A, B]
Helper for implementing a *pure* partial function: it will possibly be
invoked multiple times for a single “application”, because its only abstract
method is used for both isDefinedAt() and apply(); the former is mapped to
isCheck == true and the latter to isCheck == false for those cases where
this is important to know.
Failure to match is signaled by throwing noMatch(), i.e. not returning
normally (the exception used in this case is pre-allocated, hence not
that expensive).
new JavaPartialFunction<Object, String>() { public String apply(Object in, boolean isCheck) { if (in instanceof TheThing) { if (isCheck) return null; // to spare the expensive or side-effecting code return doSomethingWithTheThing((TheThing) in); } else { throw noMatch(); } } }
The typical use of partial functions from Akka looks like the following:
if (pf.isDefinedAt(x)) {
  pf.apply(x);
}i.e. it will first call JavaPartialFunction.apply(x, true) and if that
does not throw noMatch() it will continue with calling
JavaPartialFunction.apply(x, false).
- Source
 - JavaAPI.scala
 
- Alphabetic
 - By Inheritance
 
- JavaPartialFunction
 - AbstractPartialFunction
 - PartialFunction
 - Function1
 - AnyRef
 - Any
 
- by UnliftOps
 - by any2stringadd
 - by StringFormat
 - by Ensuring
 - by ArrowAssoc
 
- Hide All
 - Show All
 
- Public
 - Protected
 
Instance Constructors
-  new JavaPartialFunction()
 
Abstract Value Members
Concrete 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 JavaPartialFunction[A, B] toany2stringadd[JavaPartialFunction[A, B]] performed by method any2stringadd in scala.Predef.
 - Definition Classes
 - any2stringadd
 
 -    def ->[B](y: B): (JavaPartialFunction[A, B], B)
- Implicit
 - This member is added by an implicit conversion from JavaPartialFunction[A, B] toArrowAssoc[JavaPartialFunction[A, B]] performed by method ArrowAssoc in scala.Predef.This conversion will take place only if B is a subclass of scala.Option[Nothing] (B <: scala.Option[Nothing]).
 - Definition Classes
 - ArrowAssoc
 - Annotations
 - @inline()
 
 -   final  def ==(arg0: Any): Boolean
- Definition Classes
 - AnyRef → Any
 
 -    def andThen[C](k: PartialFunction[B, C]): PartialFunction[A, C]
- Definition Classes
 - PartialFunction
 
 -    def andThen[C](k: (B) => C): PartialFunction[A, C]
- Definition Classes
 - PartialFunction → Function1
 
 -   final  def apply(x: A): B
- Definition Classes
 - JavaPartialFunction → AbstractPartialFunction → Function1
 
 -   final  def applyOrElse[A1 <: A, B1 >: B](x: A1, default: (A1) => B1): B1
- Definition Classes
 - JavaPartialFunction → PartialFunction
 
 -   final  def asInstanceOf[T0]: T0
- Definition Classes
 - Any
 
 -    def clone(): AnyRef
- Attributes
 - protected[lang]
 - Definition Classes
 - AnyRef
 - Annotations
 - @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
 
 -    def compose[R](k: PartialFunction[R, A]): PartialFunction[R, B]
- Definition Classes
 - PartialFunction
 
 -    def compose[A](g: (A) => A): (A) => B
- Definition Classes
 - Function1
 - Annotations
 - @unspecialized()
 
 -    def elementWise: ElementWiseExtractor[A, B]
- Definition Classes
 - PartialFunction
 
 -    def ensuring(cond: (JavaPartialFunction[A, B]) => Boolean, msg: => Any): JavaPartialFunction[A, B]
- Implicit
 - This member is added by an implicit conversion from JavaPartialFunction[A, B] toEnsuring[JavaPartialFunction[A, B]] performed by method Ensuring in scala.Predef.
 - Definition Classes
 - Ensuring
 
 -    def ensuring(cond: (JavaPartialFunction[A, B]) => Boolean): JavaPartialFunction[A, B]
- Implicit
 - This member is added by an implicit conversion from JavaPartialFunction[A, B] toEnsuring[JavaPartialFunction[A, B]] performed by method Ensuring in scala.Predef.
 - Definition Classes
 - Ensuring
 
 -    def ensuring(cond: Boolean, msg: => Any): JavaPartialFunction[A, B]
- Implicit
 - This member is added by an implicit conversion from JavaPartialFunction[A, B] toEnsuring[JavaPartialFunction[A, B]] performed by method Ensuring in scala.Predef.
 - Definition Classes
 - Ensuring
 
 -    def ensuring(cond: Boolean): JavaPartialFunction[A, B]
- Implicit
 - This member is added by an implicit conversion from JavaPartialFunction[A, B] toEnsuring[JavaPartialFunction[A, B]] 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 isDefinedAt(x: A): Boolean
- Definition Classes
 - JavaPartialFunction → PartialFunction
 
 -   final  def isInstanceOf[T0]: Boolean
- Definition Classes
 - Any
 
 -    def lift: (A) => scala.Option[B]
- Definition Classes
 - PartialFunction
 
 -   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()
 
 -    def orElse[A1 <: A, B1 >: B](that: PartialFunction[A1, B1]): PartialFunction[A1, B1]
- Definition Classes
 - PartialFunction
 
 -    def runWith[U](action: (B) => U): (A) => Boolean
- Definition Classes
 - PartialFunction
 
 -   final  def synchronized[T0](arg0: => T0): T0
- Definition Classes
 - AnyRef
 
 -    def toString(): String
- Definition Classes
 - Function1 → AnyRef → Any
 
 -    def unapply(a: A): scala.Option[B]
- Definition Classes
 - PartialFunction
 
 -    def unlift: PartialFunction[A, B]
- Implicit
 - This member is added by an implicit conversion from JavaPartialFunction[A, B] toUnliftOps[A, B] performed by method UnliftOps in scala.Function1.This conversion will take place only if B is a subclass of scala.Option[B] (B <: scala.Option[B]).
 - Definition Classes
 - UnliftOps
 
 -   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 JavaPartialFunction[A, B] toStringFormat[JavaPartialFunction[A, B]] 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,formattedresolves to the new method in String which has reversed parameters.
 -    def →[B](y: B): (JavaPartialFunction[A, B], B)
- Implicit
 - This member is added by an implicit conversion from JavaPartialFunction[A, B] toArrowAssoc[JavaPartialFunction[A, B]] performed by method ArrowAssoc in scala.Predef.This conversion will take place only if B is a subclass of scala.Option[Nothing] (B <: scala.Option[Nothing]).
 - 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.