wvlet.airframe.codec

Type members

Classlikes

object Compat extends CompatBase
sealed trait DataType
Companion:
object
object DataType
Companion:
class
class EnumCodec[A](enumSurface: EnumSurface) extends MessageCodec[A]

A codec for Enum-like case objects that can be instantiated with unapply(String)

A codec for Enum-like case objects that can be instantiated with unapply(String)

case class GenericException(exceptionClass: String, message: String, stackTrace: Seq[GenericStackTraceElement], cause: Option[GenericException]) extends Throwable

Generic representation of Throwable for RPC messaging and logging exception

Generic representation of Throwable for RPC messaging and logging exception

Companion:
object
Companion:
class
case class GenericStackTraceElement(className: String, methodName: String, fileName: Option[String], lineNumber: Int)

Generic stacktrace representation

Generic stacktrace representation

case object INVALID_DATA extends CodecErrorCode
object JDBCCodec extends LogSupport
object JSONCodec extends MessageCodec[String]

Codec for JSON String

Codec for JSON String

object JSONValueCodec extends MessageCodec[JSONValue]

Codec for JSONValue

Codec for JSONValue

object JavaInstantTimeCodec extends MessageCodec[Instant]

Codec for java.time package

Codec for java.time package

object JavaUtilDateCodec extends MessageCodec[Date] with LogSupport
case class LazyCodec[A](surface: Surface, codecFactory: MessageCodecFactory) extends MessageCodec[A]

For generating codec for recursive types.

For generating codec for recursive types.

For example, if type X has a recursion like X(name:String, child:Option[X]), LazyCodec will be used to generate a codec instance as MessageCodec[X](StringCodec, OptionCodec(LazyCodec[X])).

case object MISSING_PARAMETER extends CodecErrorCode
trait MessageCodec[A] extends LogSupport
Companion:
object
Companion:
class
class MessageCodecException(val errorCode: CodecErrorCode, val codec: MessageCodec[_], val message: String) extends Exception
case class MessageCodecFactory(codecFinder: MessageCodecFinder, mapOutput: Boolean) extends MessageCodecFactoryBase with LogSupport
Companion:
object
Companion:
class
Companion:
object
object MessageCodecFinder extends LogSupport
Companion:
class
case class MessageContext()

MessageContext is used for passing the parsing configuration and the last value read by codec.

MessageContext is used for passing the parsing configuration and the last value read by codec.

For efficiency, it holds several primitive type values as local variables to avoid the boxing overhead.

trait MessageValueCodec[A] extends MessageCodec[A]

Codecs for airframe-metrics

Codecs for airframe-metrics

case class ObjectCodec[A](surface: Surface, paramCodec: Seq[MessageCodec[_]]) extends MessageCodec[A] with ObjectCodecBase with PackAsMapSupport[A] with LogSupport
sealed trait ObjectCodecBase
case class ObjectMapCodec[A](surface: Surface, paramCodec: Seq[MessageCodec[_]]) extends MessageCodec[A] with ObjectCodecBase with PackAsMapSupport[A] with LogSupport

ObjectCodec for generating map values. This is suited to JSON object generation

ObjectCodec for generating map values. This is suited to JSON object generation

If a class is extending PackSupport, pack(Packer) method will be used for serializing (packing) this object.

If a class is extending PackSupport, pack(Packer) method will be used for serializing (packing) this object.

For deserializing (unpacking) data of type A, define a package method unapply(string:String): Option[A].

In future, we may support unapply(u:Unpacker): Option[A] method

class ParamListCodec(name: String, params: IndexedSeq[Parameter], paramCodec: Seq[MessageCodec[_]], methodOwner: Option[Any]) extends MessageCodec[Seq[Any]] with LogSupport

A generic codec for parameter lists:

A generic codec for parameter lists:

  • array form: [v1, v2, ...]
  • map form: {k1:v1, k2:v2, ..}
object RawJsonCodec extends MessageCodec[Json]

Standard codec collection

Standard codec collection

class StringUnapplyCodec[A](codec: Surface) extends MessageCodec[A] with LogSupport

A codec for Enum-like case objects that can be instantiated with unapply(String)

A codec for Enum-like case objects that can be instantiated with unapply(String)

object ThrowableCodec extends MessageCodec[Throwable]

Codec for Exception (Throwable) classes

Codec for Exception (Throwable) classes

object ULIDCodec extends MessageCodec[ULID]
object UUIDCodec extends MessageCodec[UUID]
case class UnionCodec(codecs: Seq[MessageCodec[_]]) extends MessageCodec[Union]

Codec for union classes (e.g., A or B) This codec is necessary for defining OpenAPI's model classes

Codec for union classes (e.g., A or B) This codec is necessary for defining OpenAPI's model classes