Add OptionConverters.toJava and OptionConverters.toScala

This commit is contained in:
Matthew de Detrich 2023-05-08 22:14:49 +02:00 committed by Matthew de Detrich
parent ccd728f098
commit 0df71060ea
3 changed files with 12 additions and 0 deletions

View file

@ -50,4 +50,7 @@ object Scala212CompatTest {
val javaOptionalLong: java.util.OptionalLong = java.util.OptionalLong.of(1L) val javaOptionalLong: java.util.OptionalLong = java.util.OptionalLong.of(1L)
val optionalLongToScala: Option[Long] = javaOptionalLong.toScala val optionalLongToScala: Option[Long] = javaOptionalLong.toScala
val optionalLongToJavaGeneric: Optional[Long] = javaOptionalLong.toJavaGeneric val optionalLongToJavaGeneric: Optional[Long] = javaOptionalLong.toJavaGeneric
// OptionConverters toScala and toJava
OptionConverters.toJava(OptionConverters.toScala(java.util.Optional.of("")))
} }

View file

@ -22,6 +22,10 @@ import java.util._
private[pekko] object OptionConverters { private[pekko] object OptionConverters {
import scala.compat.java8.OptionConverters.SpecializerOfOptions import scala.compat.java8.OptionConverters.SpecializerOfOptions
@inline final def toScala[A](o: Optional[A]): Option[A] = scala.compat.java8.OptionConverters.toScala(o)
@inline final def toJava[A](o: Option[A]): Optional[A] = scala.compat.java8.OptionConverters.toJava(o)
implicit final class RichOptional[A](private val o: java.util.Optional[A]) extends AnyVal { implicit final class RichOptional[A](private val o: java.util.Optional[A]) extends AnyVal {
@inline def toScala: Option[A] = scala.compat.java8.OptionConverters.RichOptionalGeneric(o).asScala @inline def toScala: Option[A] = scala.compat.java8.OptionConverters.RichOptionalGeneric(o).asScala

View file

@ -21,6 +21,11 @@ import scala.jdk.OptionShape
*/ */
@InternalStableApi @InternalStableApi
private[pekko] object OptionConverters { private[pekko] object OptionConverters {
@inline final def toScala[A](o: Optional[A]): Option[A] = scala.jdk.javaapi.OptionConverters.toScala(o)
@inline final def toJava[A](o: Option[A]): Optional[A] = scala.jdk.javaapi.OptionConverters.toJava(o)
implicit final class RichOptional[A](private val o: java.util.Optional[A]) extends AnyVal { implicit final class RichOptional[A](private val o: java.util.Optional[A]) extends AnyVal {
@inline def toScala: Option[A] = scala.jdk.OptionConverters.RichOptional(o).toScala @inline def toScala: Option[A] = scala.jdk.OptionConverters.RichOptional(o).toScala