p
Most model classes contain both serialisation & parsing functionality, following these conventions:
Most model classes contain both serialisation & parsing functionality, following these conventions:
.toString
returns a representation of the model class in a format as in an HTTP request/response. For example,
for an uri this will be http://...
, for a header [name]: [value]
, etc.[SthCompanionObject].parse(serialized: String): Either[String, Sth]
: returns an error message or an instance of
the model class[SthCompanionObject].unsafeParse(serialized: String): Sth
: returns an instance of the model class or in
case of an error, *throws an exception*.[SthCompanionObject].unsafeApply(values)
: creates an instance of the model class; validates the input values and in
case of an error, *throws an exception*. An error could be e.g. that the input values contain characters outside of
the allowed range[SthCompanionObject].safeApply(...): Either[String, Sth]
: same as above, but doesn't throw exceptions. Instead,
returns an error message or the model class instance[SthCompanionObject].apply(...): Sth
: creates the model type, without validation, and without throwing
exceptions