001
014
015 package com.liferay.portal.kernel.exception;
016
017 import com.liferay.portal.kernel.util.ClassUtil;
018 import com.liferay.portal.kernel.util.StackTraceUtil;
019
020 import java.util.Collection;
021
022
025 public class BulkException extends Exception {
026
027 public BulkException(Collection<Throwable> causes) {
028 _causes = causes;
029 }
030
031 public BulkException(String message, Collection<Throwable> causes) {
032 super(message);
033
034 _causes = causes;
035 }
036
037 public Collection<Throwable> getCauses() {
038 return _causes;
039 }
040
041 @Override
042 public String getMessage() {
043 StringBuilder sb = new StringBuilder(7 * _causes.size() + 4);
044
045 sb.append("{message = ");
046 sb.append(super.getMessage());
047 sb.append("\n");
048
049 for (Throwable cause : _causes) {
050 sb.append("{");
051 sb.append(ClassUtil.getClassName(cause));
052 sb.append(":");
053 sb.append(cause.getMessage());
054 sb.append(", ");
055 sb.append(StackTraceUtil.getStackTrace(cause));
056 sb.append("}\n");
057 }
058
059 sb.append("}");
060
061 return sb.toString();
062 }
063
064 private final Collection<Throwable> _causes;
065
066 }