trait Encoder[A] extends Serializable
Interface for all Encoder implementations.
Allows to encode instances of A
as protobuf3 serialized message.
Encoding can be done with Automatic
strategy with encoders.AutoEncoder, or by specifying
a custom protobuf mapping with encoders.CustomMappingEncoder.
- Self Type
- Encoder[A]
- Annotations
- @implicitNotFound( "No Encoder found for type ${A}." )
- Source
- Encoder.scala
Linear Supertypes
Known Subclasses
Type Hierarchy
Ordering
- Alphabetic
- By Inheritance
Inherited
- Encoder
- Serializable
- Serializable
- AnyRef
- Any
Implicitly
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
Visibility
- 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): (Encoder[A], B)
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
contramap[B](f: (B) ⇒ A): Encoder[B]
Create a new Encoder by applying a function to a value of type
B
before writing as an A. -
def
encodeAsByteBuffer(a: A): ByteBuffer
Encode the value A and return the result as a ByteBuffer.
-
def
encodeAsBytes(a: A): Array[Byte]
Encode the value A and return the result in Array[Byte].
-
def
encodeAsStream(a: A): ByteArrayOutputStream
Encode the value A into an ByteArrayOutputStream.
- def ensuring(cond: (Encoder[A]) ⇒ Boolean, msg: ⇒ Any): Encoder[A]
- def ensuring(cond: (Encoder[A]) ⇒ Boolean): Encoder[A]
- def ensuring(cond: Boolean, msg: ⇒ Any): Encoder[A]
- def ensuring(cond: Boolean): Encoder[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
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): (Encoder[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.