Package com.daikit.commons.shared.exception

Source Code of com.daikit.commons.shared.exception.DkException

/**
* Copyright (C) 2013 DaiKit.com - daikit-commons module (admin@daikit.com)
*
*         Project home : http://code.daikit.com/commons
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*         http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.daikit.commons.shared.exception;

import com.daikit.commons.shared.exception.context.DkExceptionContext;



/**
* Exception that all Daikit exceptions should extend.
*
* @author tcaselli
* @version $Revision$ Last modifier: $Author$ Last commit: $Date$
*/
public class DkException extends RuntimeException
{

  private static final long serialVersionUID = 4114937949535618292L;

  private DkExceptionContext context;

  /**
   * Message for errors wrapped because not serializable through GWT rpcs.
   */
  public static final String UNKNWOWN_ERROR_MESSAGE = "unknwown_error";

  /**
   * Default Constructor, create a Context that can be accessed by {@link #getContext()} , the message is
   * {@link #UNKNWOWN_ERROR_MESSAGE}
   */
  public DkException()
  {
    super(UNKNWOWN_ERROR_MESSAGE);
    this.context = new DkExceptionContext();
  }

  /**
   * Constructs a new GwtLib exception with given message. create a Context that can be accessed by
   * {@link #getContext()}.
   *
   * @param message
   *           the message for the exception
   */
  public DkException(final String message)
  {
    super(message);
    this.context = new DkExceptionContext();
  }

  /**
   * Constructs a new GwtLib exception with <code>null</code> as its detail message. The cause is not initialized, and
   * may subsequently be initialized by a call to {@link #initCause}.
   *
   * @param context
   *           the context when exception occurred
   */
  public DkException(final DkExceptionContext context)
  {
    super(context.getMessage());
    this.context = context;
  }

  /**
   * Constructs a new GwtLib exception with the specified cause and a detail message of
   * <tt>(cause==null ? null : cause.toString())</tt> (which typically contains the class and detail message of
   * <tt>cause</tt>). This constructor is useful for runtime exceptions that are little more than wrappers for other
   * throwables.
   *
   * @param context
   *           the context when exception occurred
   * @param cause
   *           the cause (which is saved for later retrieval by the {@link #getCause()} method). (A <tt>null</tt> value
   *           is permitted, and indicates that the cause is nonexistent or unknown.)
   */
  public DkException(final DkExceptionContext context, final Throwable cause)
  {
    super(context.getMessage(), cause);
    this.context = context;
  }

  /**
   * Constructs a new GwtLib exception with the specified cause and a detail message of
   * <tt>(cause==null ? null : cause.toString())</tt> (which typically contains the class and detail message of
   * <tt>cause</tt>). This constructor is useful for runtime exceptions that are little more than wrappers for other
   * throwables.
   *
   * @param message
   *           the exception message
   * @param cause
   *           the cause (which is saved for later retrieval by the {@link #getCause()} method). (A <tt>null</tt> value
   *           is permitted, and indicates that the cause is nonexistent or unknown.)
   */
  public DkException(final String message, final Throwable cause)
  {
    super(message, cause);
    this.context = new DkExceptionContext(message);
  }

  /**
   * @return the context
   */
  public DkExceptionContext getContext()
  {
    return context;
  }

  /**
   * @param context
   *           the context to set
   */
  public void setContext(final DkExceptionContext context)
  {
    this.context = context;
  }

}
TOP

Related Classes of com.daikit.commons.shared.exception.DkException

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.