MaltChainedException.java :  » Natural-Language-Processing » MaltParser » org » maltparser » core » exception » Java Open Source

Java Open Source » Natural Language Processing » MaltParser 
MaltParser » org » maltparser » core » exception » MaltChainedException.java
package org.maltparser.core.exception;

/**
 * MaltChainedException handles a chain of MaltParser specific exception. 
 *
 * @author Johan Hall
**/
public class MaltChainedException extends Exception {
  public static final long serialVersionUID = 8045568022124816379L;
  private Throwable cause = null;

  /**
   * Creates a MaltChainedException instance
   */
  public MaltChainedException() {
    super();
  }

  /**
   * Creates a MaltChainedException instance with a message
   * 
   * @param message a message string
   */
  public MaltChainedException(String message) {
    super(message);
  }

  /**
   * Creates a MaltChainedException instance with a message and keeps track of the cause of the exception.
   * 
   * @param message  a message string
   * @param cause    a cause
   */
  public MaltChainedException(String message, Throwable cause) {
    super(message);
    this.cause = cause;
  }
  
  
  /* (non-Javadoc)
   * @see java.lang.Throwable#getCause()
   */
  public Throwable getCause() {
    return cause;
  }

  /**
   * Returns a string representation of the exception chain. Only MaltParser specific exception is included.
   * 
   * @return a string representation of the exception chain
   */
  public String getMessageChain() {
    StringBuilder sb = new StringBuilder();
      Throwable t = this;
      
      while (t != null) {
        if (t.getMessage() != null && t instanceof MaltChainedException) {
          sb.append(t.getMessage()+"\n");
        }
        t = t.getCause();
      }  
      return sb.toString();
  }
  
  /* (non-Javadoc)
   * @see java.lang.Throwable#printStackTrace()
   */
  public void printStackTrace() {
    super.printStackTrace();
    if (cause != null) {
      cause.printStackTrace();
    }
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.