package japi
- Alphabetic
- Public
- Protected
Type Members
- 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 == trueand the latter toisCheck == falsefor those cases where this is important to know.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 == trueand the latter toisCheck == falsefor 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 Apache Pekko 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 thrownoMatch()it will continue with callingJavaPartialFunction.apply(x, false). - case class Pair[A, B](first: A, second: B) extends Product with Serializable
Java API Represents a pair (tuple) of two elements.
Java API Represents a pair (tuple) of two elements.
Additional tuple types for 3 to 22 values are defined in the
org.apache.pekko.japi.tuplepackage, e.g. pekko.japi.tuple.Tuple3.- Annotations
- @SerialVersionUID()
Value Members
- object JavaPartialFunction
- object Pair extends Serializable
- object Throwables
Helper class for determining whether a
Throwableis fatal or not.Helper class for determining whether a
Throwableis fatal or not. User should only catch the non-fatal one,and keep rethrow the fatal one.Fatal errors are errors like
VirtualMachineError(for example,OutOfMemoryErrorandStackOverflowError, subclasses ofVirtualMachineError),ThreadDeath,LinkageError,InterruptedException,ControlThrowable.Note. this helper keep the same semantic with
NonFatalin Scala. For example, all harmlessThrowables can be caught by:try { // dangerous stuff } catch(Throwable e) { if (Throwables.isNonFatal(e)){ log.error(e, "Something not that bad."); } else { throw e; }
- object Util
This class hold common utilities for Java