59 lines
1.5 KiB
Java
59 lines
1.5 KiB
Java
package pgp.vks.client.impl;
|
|
|
|
import lombok.SneakyThrows;
|
|
import pgp.vks.client.Get;
|
|
import pgp.vks.client.RequestVerify;
|
|
import pgp.vks.client.Upload;
|
|
import pgp.vks.client.VKS;
|
|
import pgp.vks.client.impl.v1.GetImpl;
|
|
import pgp.vks.client.impl.v1.RequestVerifyImpl;
|
|
import pgp.vks.client.impl.v1.UploadImpl;
|
|
import pgp.vks.client.impl.v1.V1API;
|
|
|
|
import javax.annotation.Nonnull;
|
|
import java.net.URL;
|
|
|
|
public class VKSImpl implements VKS {
|
|
|
|
private final V1API api;
|
|
|
|
public VKSImpl(URL vksService) {
|
|
this.api = new V1API(vksService);
|
|
}
|
|
|
|
@SneakyThrows
|
|
public static VKS keysDotOpenPgpDotOrg() {
|
|
return new VKSImpl(new URL("https://keys.openpgp.org"));
|
|
}
|
|
|
|
@Override
|
|
public Get get(@Nonnull Version version) {
|
|
switch (version) {
|
|
case v1:
|
|
return new GetImpl(api);
|
|
default:
|
|
throw new IllegalArgumentException("Invalid version: " + version);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public Upload upload(@Nonnull Version version) {
|
|
switch (version) {
|
|
case v1:
|
|
return new UploadImpl();
|
|
default:
|
|
throw new IllegalArgumentException("Invalid version: " + version);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public RequestVerify requestVerify(Version version) {
|
|
switch (version) {
|
|
case v1:
|
|
return new RequestVerifyImpl();
|
|
default:
|
|
throw new IllegalArgumentException("Invalid version: " + version);
|
|
}
|
|
}
|
|
}
|