kanta
Class HetuTarkistus

java.lang.Object
  extended by kanta.HetuTarkistus
All Implemented Interfaces:
Tarkistaja

public class HetuTarkistus
extends Object
implements Tarkistaja

Luokka henkilötunnuksen tarkistamiseksi

Version:
31.3.2008
Author:
vesal

Field Summary
static int[] KUUKAUDET
          Kuukausien maksimipituudet
static String TARKISTUSMERKIT
          Hetuun kelpaavat tarkistusmerkit kärjestyksessä
 
Constructor Summary
HetuTarkistus()
           
 
Method Summary
 String tarkista(String jono)
          Tarkistetaan hetu.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TARKISTUSMERKIT

public static final String TARKISTUSMERKIT
Hetuun kelpaavat tarkistusmerkit kärjestyksessä

See Also:
Constant Field Values

KUUKAUDET

public static int[] KUUKAUDET
Kuukausien maksimipituudet

Constructor Detail

HetuTarkistus

public HetuTarkistus()
Method Detail

tarkista

public String tarkista(String jono)
Tarkistetaan hetu. Sallitaan myös muoto jossa vain syntymäaika.

Specified by:
tarkista in interface Tarkistaja
Parameters:
jono - joka tutkitaan.
Returns:
null jos oikein, muuten virhettä kuvaava teksti TODO tarkistukset kuntoon myös karkausvuodesta.
Example:
 #PACKAGEIMPORT
 JonoKentta kentta = new JonoKentta("hetu",new HetuTarkistus());
 kentta.aseta("12121")       === "Hetu liian lyhyt";
 kentta.aseta("k")           === "Hetu liian lyhyt";
 kentta.aseta("12121k")      === "Alkuosassa saa olla vain numeroita";
 kentta.aseta("121212")      === null;   // sallitaan pelkkä syntymäaika
 kentta.aseta("001212")      === "Liian pieni päivämäärä";
 kentta.aseta("321212")      === "Liian suuri päivämäärä";
 kentta.aseta("300212")      === "Liian suuri päivämäärä";
 kentta.aseta("310412")      === "Liian suuri päivämäärä";
 kentta.aseta("121312")      === "Liian suuri kuukausi";
 kentta.aseta("120012")      === "Liian pieni kuukausi";
 kentta.aseta("121212B222Q") === "Väärä erotinmerkki";
 kentta.aseta("121212-2k2Q") === "Yksilöosassa kirjaimia";
 kentta.aseta("121212-2")    === "Yksilöosa liian lyhyt";
 kentta.aseta("121212-")     === "Yksilöosa liian lyhyt";
 kentta.aseta("121212-12345")=== "Hetu liian pitkä";
 kentta.aseta("121212-222S") === "Tarkistusmerkin kuuluisi olla N";
 kentta.aseta("121212-222N") === null;
 kentta.aseta("121212-231Y") === null;
 kentta.aseta("311212-2317") === null;