no.difi.sdp.client2.domain.kvittering.KvitteringsInfo Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of sikker-digital-post-klient-java Show documentation
Show all versions of sikker-digital-post-klient-java Show documentation
Klient for sending av sikker digital post fra offentlige virksomheter.
package no.difi.sdp.client2.domain.kvittering;
import java.time.Instant;
public class KvitteringsInfo {
private String konversasjonsId;
private String referanseTilMeldingId;
private Instant tidspunkt;
public String getKonversasjonsId() {
return konversasjonsId;
}
public String getReferanseTilMeldingId() {
return referanseTilMeldingId;
}
public Instant getTidspunkt() {
return tidspunkt;
}
protected KvitteringsInfo(String konversasjonsId, String referanseTilMeldingId, Instant tidspunkt) {
this.konversasjonsId = konversasjonsId;
this.referanseTilMeldingId = referanseTilMeldingId;
this.tidspunkt = tidspunkt;
}
public static Builder builder() {
return new Builder();
}
public static class Builder {
private boolean built;
private String konversasjonsId;
private String referanseTilMeldingId;
private Instant tidspunkt;
private Builder() {
}
public Builder konversasjonsId(String konversasjonsId) {
this.konversasjonsId = konversasjonsId;
return this;
}
public Builder referanseTilMeldingId(String referanseTilMeldingId) {
this.referanseTilMeldingId = referanseTilMeldingId;
return this;
}
public Builder tidspunkt(Instant tidspunkt) {
this.tidspunkt = tidspunkt;
return this;
}
public KvitteringsInfo build() {
if (built) {
throw new IllegalStateException("Kan ikke bygges flere ganger.");
}
if (this.tidspunkt == null || this.konversasjonsId == null || this.referanseTilMeldingId == null) {
throw new RuntimeException("Alle felter må være initialisert for å kunne bygges.");
}
built = true;
return new KvitteringsInfo(konversasjonsId, referanseTilMeldingId, tidspunkt);
}
}
}