import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; public class Soknad{ private String navn; private int prioritering; private int soknadsnr; private static int soknadsnrGenerator = 0; private static Lock laas = new ReentrantLock(); public Soknad(String navn, int prioriteting){ this.navn = navn; this.prioritering = prioriteting; //siden soknadsnrGenerator er static kan flere traader bruke skrive til denne //variablen samtidig, derfor må vi laas den. Laas maa da ogsaa vaere //static laas.lock(); try{ soknadsnr = soknadsnrGenerator++; }finally{ laas.unlock(); } } public int hentPrioritering(){ return prioritering; } @Override public String toString(){ return "Soknads nummer: " + soknadsnr + "\nNavn: " + navn + "\nPrioritering: " + prioritering; } //en static metode som gir deg et tall mellom 0-9 som er prioriteringen paa //en gitt soknad public static int prioritering(boolean oslo, int alder, boolean rikeForeldre){ int pri = 0; if(alder > 30){pri += 2;} if(alder > 35){pri += 2;} if(oslo){pri += 3;} if(rikeForeldre){pri += 2;} return pri; } }