io.sphere.internal.request.DeleteRequestImpl Maven / Gradle / Ivy
package io.sphere.internal.request;
import com.google.common.base.Optional;
import com.google.common.util.concurrent.ListenableFuture;
import io.sphere.client.DeleteRequest;
import io.sphere.internal.util.Util;
import org.codehaus.jackson.type.TypeReference;
public class DeleteRequestImpl implements DeleteRequest{
final private RequestHolder requestHolder;
final private TypeReference jsonParserTypeRef;
public DeleteRequestImpl(RequestHolder holder, TypeReference jsonParserTypeRef) {
requestHolder = holder;
this.jsonParserTypeRef = jsonParserTypeRef;
}
@Override
public Optional execute() {
return Util.sync(executeAsync());
}
@Override
public ListenableFuture> executeAsync() {
return RequestExecutor.executeAndHandleError(requestHolder, 404, jsonParserTypeRef);
}
}