package com.kryptnostic.kodex.v1.serialization.jackson;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import com.google.common.base.Optional;
import com.kryptnostic.kodex.v1.crypto.keys.CryptoServiceLoader;
public class CryptoServiceLoaderHolder {
private static final CryptoServiceLoaderHolder emptyHolder = new CryptoServiceLoaderHolder();
private final Optional<CryptoServiceLoader> maybeLoader;
private CryptoServiceLoaderHolder( @Nullable CryptoServiceLoader loader ) {
this.maybeLoader = Optional.of( loader );
}
private CryptoServiceLoaderHolder() {
maybeLoader = Optional.absent();
}
public boolean isPresent() {
return maybeLoader.isPresent();
}
public static @Nonnull CryptoServiceLoaderHolder fromLoader( @Nonnull CryptoServiceLoader loader ) {
return new CryptoServiceLoaderHolder( loader );
}
public static @Nonnull CryptoServiceLoaderHolder getEmptyHolder() {
return emptyHolder;
}
public CryptoServiceLoader get() {
return maybeLoader.get();
}
}