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

no.ks.fiks.dokumentlager.klient.model.LazyDokumentlagerResponse Maven / Gradle / Ivy

Go to download

Klient for opplasting, sletting og nedlasting av dokumenter fra Fiks Dokumentlager

The newest version!
package no.ks.fiks.dokumentlager.klient.model;

import java.io.InputStream;
import java.util.Optional;
import java.util.concurrent.atomic.AtomicReference;

public class LazyDokumentlagerResponse extends DokumentlagerResponse {

    private AtomicReference> dokumentlagerResponse = new AtomicReference<>();
    private DokumentlagerResponseRunner dokumentlagerResponseRunner;

    public LazyDokumentlagerResponse(DokumentlagerResponseRunner dokumentlagerResponseRunner) {
        super(null, 0, null);
        this.dokumentlagerResponseRunner = dokumentlagerResponseRunner;
    }

    @Override
    public InputStream getResult() {
        if (dokumentlagerResponse.get() != null) {
             return dokumentlagerResponse.get().getResult();
        }
        return new LazyDokumentlagerInputStream(dokumentlagerResponseRunner, dokumentlagerResponse);
    }

    @Override
    public int getHttpStatus() {
        if (dokumentlagerResponse.get() == null) {
            dokumentlagerResponse.set(dokumentlagerResponseRunner.run());
        }
        return dokumentlagerResponse.get().getHttpStatus();
    }

    @Override
    public Optional getHeader(String header) {
        if (dokumentlagerResponse.get() == null) {
            dokumentlagerResponse.set(dokumentlagerResponseRunner.run());
        }
        return dokumentlagerResponse.get().getHeader(header);
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy