2015-10-21 22:45:39 +02:00
|
|
|
/**
|
2016-02-23 12:58:39 +01:00
|
|
|
* Copyright (C) 2015-2016 Lightbend Inc. <http://www.lightbend.com>
|
2015-10-21 22:45:39 +02:00
|
|
|
*/
|
|
|
|
|
package akka.stream.impl
|
|
|
|
|
|
|
|
|
|
import akka.japi.function.{ Function ⇒ JFun, Function2 ⇒ JFun2 }
|
|
|
|
|
import akka.japi.{ Pair ⇒ JPair }
|
|
|
|
|
|
2015-11-03 14:46:17 +01:00
|
|
|
private[akka] object ConstantFun {
|
2015-10-21 22:45:39 +02:00
|
|
|
private[this] val JavaIdentityFunction = new JFun[Any, Any] {
|
|
|
|
|
@throws(classOf[Exception]) override def apply(param: Any): Any = param
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
val JavaPairFunction = new JFun2[AnyRef, AnyRef, AnyRef JPair AnyRef] {
|
|
|
|
|
def apply(p1: AnyRef, p2: AnyRef): AnyRef JPair AnyRef = JPair(p1, p2)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
def javaCreatePairFunction[A, B]: JFun2[A, B, JPair[A, B]] = JavaPairFunction.asInstanceOf[JFun2[A, B, JPair[A, B]]]
|
|
|
|
|
|
|
|
|
|
def javaIdentityFunction[T]: JFun[T, T] = JavaIdentityFunction.asInstanceOf[JFun[T, T]]
|
|
|
|
|
|
2015-11-25 19:58:48 +01:00
|
|
|
def scalaIdentityFunction[T]: T ⇒ T = conforms
|
2016-01-20 18:20:12 +02:00
|
|
|
|
2016-05-12 09:46:29 +02:00
|
|
|
def scalaAnyToNone[A, B]: A ⇒ Option[B] = none
|
|
|
|
|
def scalaAnyTwoToNone[A, B, C]: (A, B) ⇒ Option[C] = two2none
|
|
|
|
|
def javaAnyToNone[A, B]: A ⇒ Option[B] = none
|
|
|
|
|
|
2016-01-20 19:29:50 +02:00
|
|
|
val zeroLong = (_: Any) ⇒ 0L
|
2016-01-20 18:20:12 +02:00
|
|
|
|
2016-01-20 19:29:50 +02:00
|
|
|
val oneLong = (_: Any) ⇒ 1L
|
2016-01-23 17:55:03 -05:00
|
|
|
|
|
|
|
|
val oneInt = (_: Any) ⇒ 1
|
2016-05-12 09:46:29 +02:00
|
|
|
|
|
|
|
|
val none = (_: Any) ⇒ None
|
|
|
|
|
|
|
|
|
|
val two2none = (_: Any, _: Any) ⇒ None
|
2015-10-21 22:45:39 +02:00
|
|
|
}
|