001package co.codewizards.cloudstore.core.dto;
002
003import java.io.Serializable;
004import java.util.ArrayList;
005import java.util.List;
006
007import javax.xml.bind.annotation.XmlRootElement;
008
009/**
010 * @author Marco หงุ่ยตระกูล-Schulze - marco at nightlabs dot de
011 */
012@XmlRootElement
013public class Error
014implements Serializable
015{
016        private static final long serialVersionUID = 1L;
017
018        private String className;
019        private String message;
020        private List<ErrorStackTraceElement> stackTraceElements;
021        private Error cause;
022
023        public Error() { }
024
025        public Error(String message) {
026                this.message = message;
027        }
028
029        public Error(Throwable throwable) {
030                if (throwable != null) {
031                        this.message = throwable.getMessage();
032                        this.className = throwable.getClass().getName();
033                }
034        }
035
036        public String getClassName() {
037                return className;
038        }
039        public void setClassName(String className) {
040                this.className = className;
041        }
042
043        public String getMessage() {
044                return message;
045        }
046        public void setMessage(String message) {
047                this.message = message;
048        }
049
050        public List<ErrorStackTraceElement> getStackTraceElements() {
051                if (stackTraceElements == null)
052                        stackTraceElements = new ArrayList<ErrorStackTraceElement>();
053
054                return stackTraceElements;
055        }
056        public void setStackTraceElements(List<ErrorStackTraceElement> stackTraceElements) {
057                this.stackTraceElements = stackTraceElements;
058        }
059
060        public Error getCause() {
061                return cause;
062        }
063        public void setCause(Error cause) {
064                this.cause = cause;
065        }
066}