001package co.codewizards.cloudstore.ls.rest.client.request; 002 003import javax.ws.rs.client.SyncInvoker; 004import javax.ws.rs.core.Response; 005 006/** 007 * Abstract base class for REST requests never returning a response. 008 * @author Marco หงุ่ยตระกูล-Schulze - marco at codewizards dot co 009 */ 010public abstract class VoidRequest extends AbstractRequest<Void> { 011 012 @Override 013 public final Void execute() { 014 final Response response = _execute(); 015 assertResponseIndicatesSuccess(response); 016 return null; 017 } 018 019 /** 020 * REST requests without response should implement this delegate method instead of {@link #execute()}. 021 * @return the response objectRef returned from {@link SyncInvoker#put(javax.ws.rs.client.Entity)} or a 022 * similar method. 023 */ 024 protected abstract Response _execute(); 025 026 @Override 027 public boolean isResultNullable() { 028 return true; 029 } 030 031}