c

magnolia1

CaseClass

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

CaseClass contains all information that exists in a ReadOnlyCaseClass, as well as methods and context required for construct an instance of this case class/object (e.g. default values for constructor parameters)

Typeclass

type constructor for the typeclass being derived

Type

generic type of this parameter

Linear Supertypes
ReadOnlyCaseClass[Typeclass, Type], Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CaseClass
  2. ReadOnlyCaseClass
  3. Serializable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new CaseClass(typeName: TypeName, isObject: Boolean, isValueClass: Boolean, parametersArray: Array[Param[Typeclass, Type]], annotationsArray: Array[Any], typeAnnotationsArray: Array[Any])
  2. new CaseClass(typeName: TypeName, isObject: Boolean, isValueClass: Boolean, parametersArray: Array[Param[Typeclass, Type]], annotationsArray: Array[Any], inheritedAnnotationsArray: Array[Any], typeAnnotationsArray: Array[Any])

    typeName

    the name of the case class

    isObject

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

    parametersArray

    an array of Param values for this case class

    annotationsArray

    an array of instantiated annotations applied to this case class

    typeAnnotationsArray

    an array of instantiated type annotations applied to this case class

Abstract Value Members

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

    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

  2. abstract def constructEither[Err, PType](makeParam: (Param[Typeclass, Type]) => Either[Err, PType]): Either[List[Err], Type]
  3. abstract def constructMonadic[Monad[_], PType](makeParam: (Param[Typeclass, Type]) => Monad[PType])(implicit monadic: Monadic[Monad]): Monad[Type]
  4. abstract def rawConstruct(fieldValues: Seq[Any]): Type

    constructs a new instance of the case class type

    constructs a new instance of the case class type

    Like construct this method is implemented by Magnolia and lets you construct case class instances generically in user code, without knowing their type concretely.

    rawConstruct, however, is more low-level in that it expects you to provide a Seq containing all the field values for the case class type, in order and with the correct types.

    fieldValues

    contains the field values for the case class instance to be constructed, in order and with the correct types.

    returns

    a new instance of the case class

    Exceptions thrown

    IllegalArgumentException if the size of paramValues differs from the size of parameters

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def annotations: Seq[Any]

    a sequence of objects representing all of the annotations on the case class

    a sequence of objects representing all of the annotations on 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.

    Definition Classes
    ReadOnlyCaseClass
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  11. final def inheritedAnnotations: Seq[Any]

    a sequence of objects representing all of the annotations inherited from base classes/traits

    a sequence of objects representing all of the annotations inherited from base classes/traits

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

    Definition Classes
    ReadOnlyCaseClass
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. val isObject: Boolean
    Definition Classes
    CaseClassReadOnlyCaseClass
  14. val isValueClass: Boolean
    Definition Classes
    CaseClassReadOnlyCaseClass
  15. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  17. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  18. def parameters: Seq[Param[Typeclass, Type]]

    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.

    Definition Classes
    CaseClassReadOnlyCaseClass
  19. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  20. def toString(): String
    Definition Classes
    CaseClassReadOnlyCaseClass → AnyRef → Any
  21. final def typeAnnotations: Seq[Any]

    a sequence of objects representing all of the type annotations on the case class

    a sequence of objects representing all of the type annotations on 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.

    Definition Classes
    ReadOnlyCaseClass
  22. val typeName: TypeName
    Definition Classes
    CaseClassReadOnlyCaseClass
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  25. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from ReadOnlyCaseClass[Typeclass, Type]

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped