CompanionFor

abstract class CompanionFor[-T <: FHIRObject] extends JsonDecoderHelpers with OptionSugar
trait Utils
class Object
trait Matchable
class Any
object Address.type
object Age.type
object Annotation.type
object Attachment.type
object BackboneElement.type
object CodeableConcept.type
object Coding.type
object ContactDetail.type
object ContactPoint.type
object Contributor.type
object Count.type
object CodeFilter.type
object DateFilter.type
object Sort.type
object DataRequirement.type
object Distance.type
object DoseAndRate.type
object Dosage.type
object Duration.type
object Element.type
object Expression.type
object Extension.type
object HumanName.type
object Identifier.type
object Meta.type
object Money.type
object Period.type
object Quantity.type
object Range.type
object Ratio.type
object Reference.type
object RelatedArtifact.type
object Resource.type
object SampledData.type
object Signature.type
object Repeat.type
object Timing.type
object TriggerDefinition.type
object UsageContext.type

Type members

Inherited classlikes

implicit class RichCursor(cursor: ACursor)
Inherited from:
JsonDecoderHelpers
implicit class RichSeqT[T](val s1: Seq[T])
Inherited from:
OptionSugar
implicit class RichT[T](val t: T)
Inherited from:
OptionSugar

Types

type ParentType >: T <: FHIRObject

Value members

Abstract methods

def decodeThis(cursor: HCursor)(implicit params: DecoderParams): Try[T]
def fields(t: T): Seq[FHIRComponentField[_]]

Concrete methods

def cast(t: ResourceType): Try[T]
def checkUnknownFields(cursor: HCursor, keys: Set[String], keyPrefixes: Seq[Set[String]])(implicit decoderParams: DecoderParams): Try[Unit]
def decodeAttributes(cursor: HCursor)(implicit params: DecoderParams): TreeMap[FHIRComponentFieldMeta[_], PrimitiveElementInfo]
def decoder(implicit params: DecoderParams): Decoder[T]
def extract[O](fn: CompanionFor[T] => FHIRComponentFieldMeta[O])(t: T): O
def isSubTypeOf(other: CompanionFor[_]): Boolean
protected def otherMetas: Set[String]
def parameterisedDecode(x: HCursor, params: DecoderParams): Try[T]
protected def refMetas: Seq[Set[String]]

Inherited methods

def companionClassName[T](tag: LTag[T]): String
Inherited from:
Utils
def companionOf[T <: FHIRObject : ClassTag](implicit evidence$1: ClassTag[T], tag: LTag[T]): CompanionFor[T]
Inherited from:
Utils
def decodeMethodFor[T <: FHIRObject : ClassTag](implicit evidence$2: ClassTag[T], tag: LTag[T], params: DecoderParams): HCursor => Try[T]
Inherited from:
Utils
def tryDecode[T](fn: => T, c: HCursor): Either[DecodingFailure, T]
Inherited from:
BaseFieldDecoders

Concrete fields

val classConstructor: Constructor[T]
val profileUrl: Option[String]
val searchParams: Map[String, T => Seq[Any]]
val thisClassTag: ClassTag[T]
val thisTypeTag: LTag[T]

Inherited fields

val yearsAndMonths: Regex
Inherited from:
BaseFieldDecoders
Inherited from:
BaseFieldDecoders
val yearsOnly: Regex
Inherited from:
BaseFieldDecoders

Implicits

Inherited implicits

final implicit def RichCursor(cursor: ACursor): RichCursor
Inherited from:
JsonDecoderHelpers
final implicit def RichSeqT[T](s1: Seq[T]): RichSeqT[T]
Inherited from:
OptionSugar
final implicit def RichT[T](t: T): RichT[T]
Inherited from:
OptionSugar
implicit val base64BinaryDecoder: Decoder[Base64Binary]
Inherited from:
BaseFieldDecoders
implicit val base64BinaryEncoder: Encoder[Base64Binary]
Inherited from:
BaseFieldDecoders
implicit val canonicalDecoder: Decoder[Canonical]
Inherited from:
BaseFieldDecoders
implicit val canonicalEncoder: Encoder[Canonical]
Inherited from:
BaseFieldDecoders
implicit val codeDecoder: Decoder[Code]
Inherited from:
BaseFieldDecoders
implicit val codeEncoder: Encoder[Code]
Inherited from:
BaseFieldDecoders
implicit def decodeEither[A, B](implicit decoderA: Decoder[A], decoderB: Decoder[B]): Decoder[Either[A, B]]
Inherited from:
BaseFieldDecoders
implicit val decodeFHIRDate: Decoder[FHIRDate]
Inherited from:
BaseFieldDecoders
implicit val decodeFHIRDateTime: Decoder[FHIRDateTime]
Inherited from:
BaseFieldDecoders
implicit def decodeLitSeq[T](implicit decoder: Decoder[T]): Decoder[LitSeq[T]]
Inherited from:
BaseFieldDecoders
implicit def decodeNonEmptyLitSeq[T](implicit decoder: Decoder[LitSeq[T]]): Decoder[NonEmptyLitSeq[T]]
Inherited from:
BaseFieldDecoders
implicit val decodeZonedDateTime: Decoder[ZonedDateTime]
Inherited from:
BaseFieldDecoders
implicit def encodeEither[A, B](implicit encoderA: Encoder[A], encoderB: Encoder[B]): Encoder[Either[A, B]]
Inherited from:
BaseFieldDecoders
implicit def encodeLitSeq[T](implicit encoder: Encoder[T]): Encoder[LitSeq[T]]
Inherited from:
BaseFieldDecoders
implicit val encodeZonedDateTime: Encoder[ZonedDateTime]
Inherited from:
BaseFieldDecoders
implicit val encoderFHIRDate: Encoder[FHIRDate]
Inherited from:
BaseFieldDecoders
implicit val encoderFHIRDateTime: Encoder[FHIRDateTime]
Inherited from:
BaseFieldDecoders
implicit val idDecoder: Decoder[Id]
Inherited from:
BaseFieldDecoders
implicit val idEncoder: Encoder[Id]
Inherited from:
BaseFieldDecoders
implicit val markdownDecoder: Decoder[Markdown]
Inherited from:
BaseFieldDecoders
implicit val markdownEncoder: Encoder[Markdown]
Inherited from:
BaseFieldDecoders
implicit val oidDecoder: Decoder[OID]
Inherited from:
BaseFieldDecoders
implicit val oidEncoder: Encoder[OID]
Inherited from:
BaseFieldDecoders
implicit val positiveIntDecoder: Decoder[PositiveInt]
Inherited from:
BaseFieldDecoders
implicit val positiveIntEncoder: Encoder[PositiveInt]
Inherited from:
BaseFieldDecoders
implicit val unsignedIntDecoder: Decoder[UnsignedInt]
Inherited from:
BaseFieldDecoders
implicit val unsignedIntEncoder: Encoder[UnsignedInt]
Inherited from:
BaseFieldDecoders
implicit val uriDecoder: Decoder[UriStr]
Inherited from:
BaseFieldDecoders
implicit val uriEncoder: Encoder[UriStr]
Inherited from:
BaseFieldDecoders
implicit val urlDecoder: Decoder[UrlStr]
Inherited from:
BaseFieldDecoders
implicit val urlEncoder: Encoder[UrlStr]
Inherited from:
BaseFieldDecoders
implicit val xhtmlDecoder: Decoder[XHTML]
Inherited from:
BaseFieldDecoders
implicit val xhtmlEncoder: Encoder[XHTML]
Inherited from:
BaseFieldDecoders