package io.vertx.serviceproxy;

import io.vertx.core.AsyncResult;
import io.vertx.core.Future;
import io.vertx.core.eventbus.ReplyException;
import io.vertx.core.eventbus.ReplyFailure;
import io.vertx.core.json.JsonObject;

An Exception to be returned from Service implementations.
Author:Dan O'Reilly
/** * An Exception to be returned from Service implementations. * * @author <a href="mailto:oreilldf@gmail.com">Dan O'Reilly</a> */
public class ServiceException extends ReplyException { private final JsonObject debugInfo;
Create a ServiceException.
Params:
  • failureCode – The failure code.
  • message – The failure message.
/** * Create a ServiceException. * * @param failureCode The failure code. * @param message The failure message. */
public ServiceException(int failureCode, String message) { this(failureCode, message, new JsonObject()); } public ServiceException(int failureCode, String message, JsonObject debugInfo) { super(ReplyFailure.RECIPIENT_FAILURE, failureCode, message); this.debugInfo = debugInfo; }
Get the Debugging information provided to this ServiceException
Returns:The debug info.
/** * Get the Debugging information provided to this ServiceException * * @return The debug info. */
public JsonObject getDebugInfo() { return debugInfo; }
Create a failed Future containing a ServiceException.
Params:
  • failureCode – The failure code.
  • message – The failure message.
Type parameters:
  • <T> – The type of the AsyncResult.
Returns:A failed Future containing the ServiceException.
/** * Create a failed Future containing a ServiceException. * * @param failureCode The failure code. * @param message The failure message. * @param <T> The type of the AsyncResult. * @return A failed Future containing the ServiceException. */
public static <T> AsyncResult<T> fail(int failureCode, String message) { return Future.failedFuture(new ServiceException(failureCode, message)); }
Create a failed Future containing a ServiceException.
Params:
  • failureCode – The failure code.
  • message – The failure message.
  • debugInfo – The debug info.
Type parameters:
  • <T> – The type of the AsyncResult.
Returns:A failed Future containing the ServiceException.
/** * * Create a failed Future containing a ServiceException. * * @param failureCode The failure code. * @param message The failure message. * @param debugInfo The debug info. * @param <T> The type of the AsyncResult. * @return A failed Future containing the ServiceException. */
public static <T> AsyncResult<T> fail(int failureCode, String message, JsonObject debugInfo) { return Future.failedFuture(new ServiceException(failureCode, message, debugInfo)); } }