Class

magnolia

CaseClass

Related Doc: package magnolia

Permalink

abstract class CaseClass[Typeclass[_], Type] extends AnyRef

represents a case class or case object and the context required to construct a new typeclass instance corresponding to it

Instances of CaseClass provide access to all of the parameters of the case class, the full name of the case class type, and a boolean to determine whether the type is a case class or case object.

Typeclass

type constructor for the typeclass being derived

Type

generic type of this parameter

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CaseClass
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def construct[Return](makeParam: (Param[Typeclass, Type]) ⇒ Return): Type

    Permalink

    constructs a new instance of the case class type

    constructs a new instance of the case class type

    This method will be implemented by the Magnolia macro to make it possible to construct instances of case classes generically in user code, that is, without knowing their type concretely.

    To construct a new case class instance, the method takes a lambda which defines how each parameter in the new case class should be constructed. See the Param class for more information on constructing parameter values from a Param instance.

    makeParam

    lambda for converting a generic Param into the value to be used for this parameter in the construction of a new instance of the case class

    returns

    a new instance of the case class

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  10. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  11. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  12. val isObject: Boolean

    Permalink

    true only if this represents a case object rather than a case class

  13. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  14. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  15. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  16. def parameters: Seq[Param[Typeclass, Type]]

    Permalink

    a sequence of Param objects representing all of the parameters in the case class

    a sequence of Param objects representing all of the parameters in the case class

    For efficiency, this sequence is implemented by an Array, but upcast to a scala.collection.Seq to hide the mutable collection API.

  17. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  18. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  19. val typeName: String

    Permalink

    the name of the case class

  20. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  21. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped