com.openedit.OpenEditException.java Source code

Java tutorial

Introduction

Here is the source code for com.openedit.OpenEditException.java

Source

/*
Copyright (c) 2003 eInnovation Inc. All rights reserved
    
This library is free software; you can redistribute it and/or modify it under the terms
of the GNU Lesser General Public License as published by the Free Software Foundation;
either version 2.1 of the License, or (at your option) any later version.
    
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU Lesser General Public License for more details.
*/

package com.openedit;

import java.io.PrintWriter;
import java.io.Serializable;
import java.io.StringWriter;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**
 * This is the superclass of all exceptions thrown from Open Edit.
 *
 * @author Eric Galluzzo
 */
public class OpenEditException extends OpenEditRuntimeException implements Serializable {
    private static final long serialVersionUID = 1630227379714618008L;

    private static final Log log = LogFactory.getLog(OpenEditException.class);
    protected String fieldPathWithError;

    public OpenEditException() {
        this("No Error Entered");
    }

    public OpenEditException(String inMsg) {
        this(inMsg, (Throwable) null);
    }

    public OpenEditException(String inMsg, String inPath) {
        this(inMsg, null, inPath);
    }

    public OpenEditException(String inMsg, Throwable inRootCause, String inPath) {
        super(inMsg, inRootCause);

        if (inRootCause instanceof OpenEditException) {
            log.error("Should not wrap an exception of type OpenEditException ");
        }
        setPathWithError(inPath);
    }

    public OpenEditException(String inMsg, Throwable inRootCause) {
        this(inMsg, inRootCause, null);
    }

    public OpenEditException(Throwable inRootCause, String inPath) {
        this(inPath + " " + inRootCause.getMessage(), inRootCause, inPath);
    }

    public OpenEditException(Throwable inRootCause) {
        this(inRootCause.getMessage(), inRootCause);
    }

    /**
     * DOCME
     *
     * @return DOCME
     */
    public String getMessage() {
        String message = super.getMessage();

        if ((message == null) || (message.length() == 0)) {
            if (getCause() != null) {
                return getCause().getMessage();
            } else {
                return "No error message";
            }
        } else {
            return message;
        }
    }

    /**
     * Sets the fieldPathWithError.
     *
     * @param fieldPathWithError The fieldPathWithError to set
     */
    public void setPathWithError(String fieldPathWithError) {
        this.fieldPathWithError = fieldPathWithError;
    }

    /**
     * DOCUMENT ME!
     *
     * @return String
     */
    public String getPathWithError() {
        return fieldPathWithError;
    }

    /**
     * DOCUMENT ME!
     *
     * @return
     */
    public String toStackTrace() {
        StringWriter out = new StringWriter();
        PrintWriter writer = new PrintWriter(out);
        printStackTrace(writer);
        writer.flush();

        return out.toString();
    }
}