/*
 * This class was automatically generated with 
 * <a href="http://www.castor.org">Castor 0.9.7</a>, using an XML
 * Schema.
 * $Id$
 */

package com.queplix.core.jxb.error;

//---------------------------------/
//- Imported classes and packages -/
//---------------------------------/

import org.exolab.castor.xml.Marshaller;
import org.exolab.castor.xml.Unmarshaller;

/**
 * The system exception description
 *
 * @version $Revision$ $Date$
 */
public class QwException extends com.queplix.core.utils.jxb.JXBObject
        implements java.io.Serializable {

    //--------------------------/
    //- Class/Member Variables -/
    //--------------------------/

    /**
     * Field _id
     */
    private java.lang.Integer _id;

    /**
     * Contains full-qualified name of java class where exception
     * appears
     */
    private java.lang.String _code;

    /**
     * Contains URI where exception appears
     */
    private java.lang.String _uri;

    /**
     * Contains the user-friendly error message
     */
    private java.lang.String _message;

    /**
     * Contains the server-side exception's stack-trace
     */
    private java.lang.String _debug;

    //----------------/
    //- Constructors -/
    //----------------/

    public QwException() {
        super();
    } //-- com.queplix.core.jxb.error.QwException()

    //-----------/
    //- Methods -/
    //-----------/

    /**
     * Returns the value of field 'code'. The field 'code' has the
     * following description: Contains full-qualified name of java
     * class where exception appears
     *
     * @return the value of field 'code'.
     */
    public java.lang.String getCode() {
        return this._code;
    } //-- java.lang.String getCode() 

    /**
     * Returns the value of field 'debug'. The field 'debug' has
     * the following description: Contains the server-side
     * exception's stack-trace
     *
     * @return the value of field 'debug'.
     */
    public java.lang.String getDebug() {
        return this._debug;
    } //-- java.lang.String getDebug() 

    /**
     * Returns the value of field 'id'.
     *
     * @return the value of field 'id'.
     */
    public java.lang.Integer getId() {
        return this._id;
    } //-- java.lang.Integer getId() 

    /**
     * Returns the value of field 'message'. The field 'message'
     * has the following description: Contains the user-friendly
     * error message
     *
     * @return the value of field 'message'.
     */
    public java.lang.String getMessage() {
        return this._message;
    } //-- java.lang.String getMessage() 

    /**
     * Returns the value of field 'uri'. The field 'uri' has the
     * following description: Contains URI where exception appears
     *
     * @return the value of field 'uri'.
     */
    public java.lang.String getUri() {
        return this._uri;
    } //-- java.lang.String getUri() 

    /**
     * Method isValid
     *
     * @return boolean
     */
    public boolean isValid() {
        try {
            validate();
        }
        catch (org.exolab.castor.xml.ValidationException vex) {
            return false;
        }
        return true;
    } //-- boolean isValid() 

    /**
     * Method marshal
     *
     * @param out
     */
    public void marshal(java.io.Writer out)
            throws org.exolab.castor.xml.MarshalException,
            org.exolab.castor.xml.ValidationException {

        Marshaller.marshal(this, out);
    } //-- void marshal(java.io.Writer) 

    /**
     * Method marshal
     *
     * @param handler
     */
    public void marshal(org.xml.sax.ContentHandler handler)
            throws java.io.IOException, org.exolab.castor.xml.MarshalException,
            org.exolab.castor.xml.ValidationException {

        Marshaller.marshal(this, handler);
    } //-- void marshal(org.xml.sax.ContentHandler) 

    /**
     * Sets the value of field 'code'. The field 'code' has the
     * following description: Contains full-qualified name of java
     * class where exception appears
     *
     * @param code the value of field 'code'.
     */
    public void setCode(java.lang.String code) {
        this._code = code;
    } //-- void setCode(java.lang.String) 

    /**
     * Sets the value of field 'debug'. The field 'debug' has the
     * following description: Contains the server-side exception's
     * stack-trace
     *
     * @param debug the value of field 'debug'.
     */
    public void setDebug(java.lang.String debug) {
        this._debug = debug;
    } //-- void setDebug(java.lang.String) 

    /**
     * Sets the value of field 'id'.
     *
     * @param id the value of field 'id'.
     */
    public void setId(java.lang.Integer id) {
        this._id = id;
    } //-- void setId(java.lang.Integer) 

    /**
     * Sets the value of field 'message'. The field 'message' has
     * the following description: Contains the user-friendly error
     * message
     *
     * @param message the value of field 'message'.
     */
    public void setMessage(java.lang.String message) {
        this._message = message;
    } //-- void setMessage(java.lang.String) 

    /**
     * Sets the value of field 'uri'. The field 'uri' has the
     * following description: Contains URI where exception appears
     *
     * @param uri the value of field 'uri'.
     */
    public void setUri(java.lang.String uri) {
        this._uri = uri;
    } //-- void setUri(java.lang.String) 

    /**
     * Method unmarshal
     *
     * @param reader
     * @return Object
     */
    public static java.lang.Object unmarshal(java.io.Reader reader)
            throws org.exolab.castor.xml.MarshalException,
            org.exolab.castor.xml.ValidationException {
        return (com.queplix.core.jxb.error.QwException) Unmarshaller.unmarshal(
                com.queplix.core.jxb.error.QwException.class, reader);
    } //-- java.lang.Object unmarshal(java.io.Reader) 

    /**
     * Method validate
     */
    public void validate()
            throws org.exolab.castor.xml.ValidationException {
        org.exolab.castor.xml.Validator validator
                = new org.exolab.castor.xml.Validator();
        validator.validate(this);
    } //-- void validate() 

}
