io.getquill.context.cassandra.encoding

Members list

Type members

Classlikes

trait CassandraDecodeMapperMaker[Encoder[_], T]

Attributes

Supertypes
class Object
trait Matchable
class Any
trait CassandraDecoderMaker[Decoder[_], T]

Attributes

Supertypes
class Object
trait Matchable
class Any
trait CassandraEncodeMapperMaker[Encoder[_], T]

Attributes

Supertypes
class Object
trait Matchable
class Any
trait CassandraEncoderMaker[Encoder[_], T]

Attributes

Supertypes
class Object
trait Matchable
class Any

MappedTypes contains implicit CassandraMapper for Scala primitive/common types which are not in relation with CassandraTypes but can be represented as ones.

MappedTypes contains implicit CassandraMapper for Scala primitive/common types which are not in relation with CassandraTypes but can be represented as ones.

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
case class CassandraMapper[I, O, Side <: MapperSide](f: (I, UdtValueLookup) => O)

Developers API.

Developers API.

End-users should rely on MappedEncoding since it's more general.

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
trait CassandraType[T]

Marker which signals that type T is already supported by Cassandra

Marker which signals that type T is already supported by Cassandra

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
object CassandraType

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type

CassandraTypes contains implicit markers for already supported types by Cassandra. Any of this type can be used in raw encoders/decoders as well as in collections encoding. For custom types please use MappedEncoding as in MappedTypes trait for example.

CassandraTypes contains implicit markers for already supported types by Cassandra. Any of this type can be used in raw encoders/decoders as well as in collections encoding. For custom types please use MappedEncoding as in MappedTypes trait for example.

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait CollectionDecoders extends EncodingDsl, CassandraRowContext

Attributes

Supertypes
trait RowContext
trait EncodingDsl
trait LowPriorityImplicits
class Object
trait Matchable
class Any
Show all
Known subtypes
Self type
trait CollectionEncoders extends EncodingDsl, CassandraRowContext

Attributes

Supertypes
trait RowContext
trait EncodingDsl
trait LowPriorityImplicits
class Object
trait Matchable
class Any
Show all
Known subtypes
Self type

Attributes

Supertypes
trait UdtDecoding
trait EncodingDsl
trait LowPriorityImplicits
trait RowContext
class Object
trait Matchable
class Any
Show all
Known subtypes

Attributes

Supertypes
trait UdtEncoding
trait EncodingDsl
trait LowPriorityImplicits
trait RowContext
class Object
trait Matchable
class Any
Show all
Known subtypes
sealed trait MapperSide

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait Decode
trait Encode
object MapperSide

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
MapperSide.type
object MirrorFields

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

UdtDecoding and UdtEncoding classes govern implicit summoning of Udt Encoders/Decoders. Unlike Scala2-Quill, in ProtoQuill these need to be separate classes since if would have encoders & decoders in one, Encoders self-type would also need to to contain decoders. Also note that because I have decided to allow the types Decoder[_], Encoder[_] to be parameters, despite the fact that really it is CassandraEncoder and CassandraDecoder that are used everywhere. This is to allow future Cassandra context implementations not to have to use that. Also, note that just like EncodingDsl.anyValEncoder/Decoder, this implementation is subject to the problem of https://github.com/lampepfl/dotty/issues/12179 and therefore needs to have the same workaround i.e. having the macro call returning a CassandraDecoderMaker[Decoder, T] => Decoder[T] as opposed to being able to use self.decoder/encoder in the macro directly.

UdtDecoding and UdtEncoding classes govern implicit summoning of Udt Encoders/Decoders. Unlike Scala2-Quill, in ProtoQuill these need to be separate classes since if would have encoders & decoders in one, Encoders self-type would also need to to contain decoders. Also note that because I have decided to allow the types Decoder[_], Encoder[_] to be parameters, despite the fact that really it is CassandraEncoder and CassandraDecoder that are used everywhere. This is to allow future Cassandra context implementations not to have to use that. Also, note that just like EncodingDsl.anyValEncoder/Decoder, this implementation is subject to the problem of https://github.com/lampepfl/dotty/issues/12179 and therefore needs to have the same workaround i.e. having the macro call returning a CassandraDecoderMaker[Decoder, T] => Decoder[T] as opposed to being able to use self.decoder/encoder in the macro directly.

Attributes

Supertypes
trait RowContext
class Object
trait Matchable
class Any
Known subtypes
Self type

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Supertypes
trait RowContext
class Object
trait Matchable
class Any
Known subtypes
Self type

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
final class UdtValueOps(val udt: UdtValue) extends AnyVal

Attributes

Companion
object
Supertypes
class AnyVal
trait Matchable
class Any
object UdtValueOps

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type