/** * Copyright 2004-2017 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.ibatis.sqlmap.engine.scope; /** * An error context to help us create meaningful error messages */ public class ErrorContext { private String resource; private String activity; private String objectId; private String moreInfo; private Throwable cause; /** * Getter for the resource causing the problem * * @return - the resource */ public String getResource() { return resource; } /** * Setter for the resource causing the problem * * @param resource * - the resource */ public void setResource(String resource) { this.resource = resource; } /** * Getter for the activity that was happening when the error happened * * @return - the activity */ public String getActivity() { return activity; } /** * Getter for the activity that was happening when the error happened * * @param activity * - the activity */ public void setActivity(String activity) { this.activity = activity; } /** * Getter for the object ID where the problem happened * * @return - the object id */ public String getObjectId() { return objectId; } /** * Setter for the object ID where the problem happened * * @param objectId * - the object id */ public void setObjectId(String objectId) { this.objectId = objectId; } /** * Getter for more information about the error * * @return - more information */ public String getMoreInfo() { return moreInfo; } /** * Setter for more information about the error * * @param moreInfo * - more information */ public void setMoreInfo(String moreInfo) { this.moreInfo = moreInfo; } /** * Getter for the cause of the error * * @return - the cause */ public Throwable getCause() { return cause; } /** * Setter for the cause of the error * * @param cause * - the cause */ public void setCause(Throwable cause) { this.cause = cause; } @Override public String toString() { StringBuffer message = new StringBuffer(); // resource if (resource != null) { message.append(" \n--- The error occurred in "); message.append(resource); message.append("."); } // activity if (activity != null) { message.append(" \n--- The error occurred while "); message.append(activity); message.append("."); } // object if (objectId != null) { message.append(" \n--- Check the "); message.append(objectId); message.append("."); } // more info if (moreInfo != null) { message.append(" \n--- "); message.append(moreInfo); } // cause if (cause != null) { message.append(" \n--- Cause: "); message.append(cause.toString()); } return message.toString(); } /** * Clear the error context */ public void reset() { resource = null; activity = null; objectId = null; moreInfo = null; cause = null; } }