All Downloads are FREE. Search and download functionalities are using the official Maven repository.

no.difi.sdp.client2.domain.digital_post.DigitalPost Maven / Gradle / Ivy

There is a newer version: 7.0.0-RC2
Show newest version
package no.difi.sdp.client2.domain.digital_post;

import no.difi.sdp.client2.domain.Mottaker;

import java.util.Date;

public class DigitalPost {

    private Mottaker mottaker;
    private Date virkningsdato;
    private boolean aapningskvittering;
    private Sikkerhetsnivaa sikkerhetsnivaa = Sikkerhetsnivaa.NIVAA_4;
    private String ikkeSensitivTittel;
    private EpostVarsel epostVarsel;
    private SmsVarsel smsVarsel;

    private DigitalPost(Mottaker mottaker, String ikkeSensitivTittel) {
        this.mottaker = mottaker;
        this.ikkeSensitivTittel = ikkeSensitivTittel;
    }

    public Mottaker getMottaker() {
        return mottaker;
    }

    public Date getVirkningsdato() {
        return virkningsdato;
    }

    public boolean isAapningskvittering() {
        return aapningskvittering;
    }

    public Sikkerhetsnivaa getSikkerhetsnivaa() {
        return sikkerhetsnivaa;
    }

    public String getIkkeSensitivTittel() {
        return ikkeSensitivTittel;
    }

    public EpostVarsel getEpostVarsel() {
        return epostVarsel;
    }

    public SmsVarsel getSmsVarsel() {
        return smsVarsel;
    }

    /**
     * @param mottaker           Mottaker av digital post.
     * @param ikkeSensitivTittel Ikke-sensitiv tittel på brevet.
     *                           Denne tittelen vil være synlig under transport av meldingen og kan vises i mottakerens postkasse selv om det ikke er autentisert med tilstrekkelig autentiseringsnivå.
     */
    public static Builder builder(Mottaker mottaker, String ikkeSensitivTittel) {
        return new Builder(mottaker, ikkeSensitivTittel);
    }

    public static class Builder {

        private final DigitalPost target;
        private boolean built = false;

        private Builder(Mottaker mottaker, String ikkeSensitivTittel) {
            target = new DigitalPost(mottaker, ikkeSensitivTittel);
        }

        /**
         * Når brevet tilgjengeliggjøres for mottaker.
         * 

* Standard er nå. */ public Builder virkningsdato(Date virkningsdato) { target.virkningsdato = virkningsdato; return this; } /** * Ønskes kvittering når brevet blir åpnet av mottaker? *

* Standard er false. */ public Builder aapningskvittering(boolean aapningskvittering) { target.aapningskvittering = aapningskvittering; return this; } /** * Nødvendig autentiseringsnivå som kreves av mottaker i postkassen for å åpne brevet. *

* Standard er {@link Sikkerhetsnivaa#NIVAA_4}. */ public Builder sikkerhetsnivaa(Sikkerhetsnivaa sikkerhetsnivaa) { target.sikkerhetsnivaa = sikkerhetsnivaa; return this; } /** * Minimum e-postvarsel som skal sendes til mottaker av brevet. Postkassen kan velge å sende andre varsler i tillegg. *

* Standard er standardoppførselen til postkasseleverandøren. */ public Builder epostVarsel(EpostVarsel epostVarsel) { target.epostVarsel = epostVarsel; return this; } /** * Minimum sms-varsel som skal sendes til mottaker av brevet. Postkassen kan velge å sende andre varsler i tillegg. *

* Standard er standardoppførselen til postkasseleverandøren. */ public Builder smsVarsel(SmsVarsel smsVarsel) { target.smsVarsel = smsVarsel; return this; } public DigitalPost build() { if (built) throw new IllegalStateException("Can't build twice"); built = true; return target; } } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy