| /* |
| * $Id: LuaError.java 154 2012-02-01 20:40:01Z andre@naef.com $ |
| * See LICENSE.txt for license terms. |
| */ |
| |
| package com.naef.jnlua; |
| |
| /** |
| * Contains information about a Lua error condition. This object is created in |
| * the native library. |
| */ |
| class LuaError { |
| // -- State |
| private String message; |
| private LuaStackTraceElement[] luaStackTrace; |
| private Throwable cause; |
| |
| // -- Construction |
| /** |
| * Creates a new instance. |
| */ |
| public LuaError(String message, Throwable cause) { |
| this.message = message; |
| this.cause = cause; |
| } |
| |
| // -- Properties |
| /** |
| * Returns the message. |
| */ |
| public String getMessage() { |
| return message; |
| } |
| |
| /** |
| * Returns the Lua stack trace. |
| */ |
| public LuaStackTraceElement[] getLuaStackTrace() { |
| return luaStackTrace; |
| } |
| |
| /** |
| * Returns the cause. |
| */ |
| public Throwable getCause() { |
| return cause; |
| } |
| |
| // -- Object methods |
| @Override |
| public String toString() { |
| StringBuffer sb = new StringBuffer(); |
| if (message != null) { |
| sb.append(message); |
| } |
| if (cause != null) { |
| if (cause.getMessage() != null) { |
| sb.append(cause.getMessage()); |
| } |
| else { |
| sb.append(cause); |
| } |
| } |
| return sb.toString(); |
| } |
| |
| // -- Package private methods |
| /** |
| * Sets the Lua stack trace. |
| */ |
| void setLuaStackTrace(LuaStackTraceElement[] luaStackTrace) { |
| this.luaStackTrace = luaStackTrace; |
| } |
| } |