package finnpic
This package contains the Finnish Personal Identity Code implementation. See the specification at https://vrk.fi/en/personal-identity-code1.
Some terminology:
- "PIC" refers to the Personal Identity Code as a concept.
- "Pic" refers to the class Pic.
See object Pic and its companion class for usage examples.
- Alphabetic
- By Inheritance
- finnpic
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- class FinnPic extends AnyRef
-
sealed
trait
Gender extends AnyRef
The gender of the person, deduced from PIC.
-
trait
Parsable[T] extends AnyRef
Something that can be parsed from a String to a value object of type T.
Something that can be parsed from a String to a value object of type T.
- T
The class of the value object which is the result of successful parsing.
-
class
Pic extends AnyRef
PIC = Personal Identity Code, "henkilotunnus" in Finnish.
PIC = Personal Identity Code, "henkilotunnus" in Finnish.
See https://vrk.fi/en/personal-identity-code1 for specs.
The constructor is private on purpose, so that Pics can only be created via the companion object (the so called "smart constructor" pattern). This prevents instances which are in an illegal state. Every Pic object can thus be treated as a valid Pic.
See the companion object for how to create instances of Pic.
Some examples of Pic creation:
>>> Pic("070377-281V") Right(070377-281V) >>> Pic("070377-281") Left(Invalid PIC: '070377-281'. PIC should have 11 characters, but was 10 characters.) >>> Pic("070377-2818") Left(Invalid PIC: '070377-2818'. The control character ('8') is wrong: it should be 'V'.) >>> Pic.fromStringUnsafe("070377-281V") 070377-281V // Pic.fromStringU is just a shorter alias for Pic.fromStringUnsafe. >>> Pic.fromStringU("070377-281V") 070377-281V // If you give Pic.fromStringUnsafe (or Pic.fromStringU) an invalid PIC, they throw an IllegalArgumentException.
- case class RichPic(pic: Pic) extends Product with Serializable
Value Members
- implicit def pic2RichPic(pic: Pic): RichPic
-
object
Female extends Gender with Product with Serializable
A female person.
-
object
Male extends Gender with Product with Serializable
A male person.
-
object
Pic extends Parsable[Pic]
Contains the factory methods for creating objects of class Pic.
Contains the factory methods for creating objects of class Pic. Follows the "smart constructor" pattern, familiar from Haskell.
Some examples of Pic creation:
>>> Pic("070377-281V") Right(070377-281V) >>> Pic("070377-281") Left(Invalid PIC: '070377-281'. PIC should have 11 characters, but was 10 characters.) >>> Pic("070377-2818") Left(Invalid PIC: '070377-2818'. The control character ('8') is wrong: it should be 'V'.) >>> Pic.fromStringUnsafe("070377-281V") 070377-281V // Pic.fromStringU is just a shorter alias for Pic.fromStringUnsafe. >>> Pic.fromStringU("070377-281V") 070377-281V // If you give Pic.fromStringUnsafe (or Pic.fromStringU) an invalid PIC, they throw an IllegalArgumentException.
- object PicGenerator