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
- Protected
Type Members
- sealed trait Gender extends AnyRef
The gender of the person, deduced from PIC.
- 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.
Value Members
- object Female extends Gender with Product with Serializable
A female person.
- object Male extends Gender with Product with Serializable
A male person.
- object 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