UnboundLocationException.java :  » Scripting » Kawa » gnu » mapping » Java Open Source

Java Open Source » Scripting » Kawa 
Kawa » gnu » mapping » UnboundLocationException.java
package gnu.mapping;
import gnu.text.SourceLocator;

/** An undefined symbol was evaluated. */

public class UnboundLocationException extends RuntimeException
{
  public Object symbol;
  Location location;
  String filename;
  int line, column;

  public UnboundLocationException ()
  {
  }

  public UnboundLocationException (Object symbol)
  {
    this.symbol = symbol;
  }

  public UnboundLocationException (Object symbol, String filename,
                                   int line, int column)
  {
    this.symbol = symbol;
    this.filename = filename;
    this.line = line;
    this.column = column;
  }

  public UnboundLocationException (Object symbol, SourceLocator location)
  {
    this.symbol = symbol;
    if (location != null)
      {
        this.filename = location.getFileName();
        this.line = location.getLineNumber();
        this.column = location.getColumnNumber();
      }
  }

  public UnboundLocationException (Location loc)
  {
    this.location = loc;
  }

  public UnboundLocationException (Object symbol, String message)
  {
    super (message);
    this.symbol = symbol;
  }

  public void setLine (String filename, int line, int column)
  {
    this.filename = filename;
    this.line = line;
    this.column = column;
  }
  
  public String getMessage()
  {
    String msg = super.getMessage();
    if (msg != null)
      return msg;
    StringBuffer sbuf = new StringBuffer();
    if (filename != null || line > 0)
      {
        if (filename != null)
          sbuf.append(filename);
        if (line >= 0)
          {
            sbuf.append(':');
            sbuf.append(line);
            if (column > 0)
              {
                sbuf.append(':');
                sbuf.append(column);
              }
          }
        sbuf.append(": ");
      }
    Symbol name = location == null ? null : location.getKeySymbol();
    if (name != null)
      {
  sbuf.append("unbound location ");
  sbuf.append(name);
  Object property = location.getKeyProperty();
  if (property != null)
    {
      sbuf.append(" (property ");
      sbuf.append(property);
      sbuf.append(')');
    }
      }
    else if (symbol != null)
      {
  sbuf.append("unbound location ");
  sbuf.append(symbol);
      }
    else
      sbuf.append("unbound location");
    return sbuf.toString();
  }

  public String toString()
  {
    return getMessage();
  }
}
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.