trait Decoder[A] extends Serializable
Interface for all Decoder implementations.
Allows to decode protobuf3 serialized message in type A
. If the message is not compatible with A
,
return a io.protoless.error.DecodingFailure.
Decoding can be done with Automatic
strategy with decoders.AutoDecoder, or by specifying
a custom protobuf mapping with decoders.CustomMappingDecoder.
- Self Type
- Decoder[A]
- Annotations
- @implicitNotFound( "No Decoder found for type ${A}." )
- Source
- Decoder.scala
- Alphabetic
- By Inheritance
- Decoder
- Serializable
- Serializable
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
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
- def ->[B](y: B): (Decoder[A], B)
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
and[B](fb: Decoder[B]): Decoder[(A, B)]
Run two decoders and return their results as a pair.
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
def
decode(input: ByteBuffer): Result[A]
Try to read the value
A
from the ByteBuffer. -
def
decode(input: InputStream): Result[A]
Try to read the value
A
from the InputStream. -
def
decode(input: Array[Byte]): Result[A]
Try to read the value
A
from the Array[Byte]. -
final
def
emap[B](f: (A) ⇒ Either[DecodingFailure, B]): Decoder[B]
Create a new decoder that performs some operation on the result if this one succeeds.
Create a new decoder that performs some operation on the result if this one succeeds.
- f
a function returning either a value or an error message
-
final
def
emapTry[B](f: (A) ⇒ Try[B]): Decoder[B]
Create a new decoder that performs some operation on the result if this one succeeds.
Create a new decoder that performs some operation on the result if this one succeeds.
- f
a function returning either a value or an error message
- def ensuring(cond: (Decoder[A]) ⇒ Boolean, msg: ⇒ Any): Decoder[A]
- def ensuring(cond: (Decoder[A]) ⇒ Boolean): Decoder[A]
- def ensuring(cond: Boolean, msg: ⇒ Any): Decoder[A]
- def ensuring(cond: Boolean): Decoder[A]
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
- def formatted(fmtstr: String): String
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
or[AA >: A](d: ⇒ Decoder[AA]): Decoder[AA]
Choose the first succeeding decoder.
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
- def →[B](y: B): (Decoder[A], B)
This is the API documentation for Protoless, a Protobuf library for Scala.
The main entry point to use protoless is the io.protoless.generic package object, which allow to derive encoders and decoders for your case classes.
The library is split in several modules:
Please see the guide for more information on how to use protoless.