package ameba.exception; import java.net.URL; import java.util.List; /** * <p>Abstract AmebaExceptionWithJavaSource class.</p> * * @author icode * @since 0.1.6e * */ public abstract class AmebaExceptionWithJavaSource extends AmebaException implements SourceAttachment { protected Integer line; protected URL sourceUrl; protected List<String> source; protected Integer lineIndex; /** * <p>Constructor for AmebaExceptionWithJavaSource.</p> * * @param message a {@link java.lang.String} object. */ protected AmebaExceptionWithJavaSource(String message) { super(message); } /** * <p>Constructor for AmebaExceptionWithJavaSource.</p> * * @param message a {@link java.lang.String} object. * @param cause a {@link java.lang.Throwable} object. * @param line a {@link java.lang.Integer} object. */ protected AmebaExceptionWithJavaSource(String message, Throwable cause, Integer line) { super(message, cause); this.line = line; } /** * <p>Constructor for AmebaExceptionWithJavaSource.</p> * * @param message a {@link java.lang.String} object. * @param cause a {@link java.lang.Throwable} object. * @param line a {@link java.lang.Integer} object. * @param sourceUrl url * @param source a {@link java.util.List} object. * @param lineIndex a {@link java.lang.Integer} object. */ @SuppressWarnings("JavaDoc") public AmebaExceptionWithJavaSource(String message, Throwable cause, Integer line, Integer lineIndex, URL sourceUrl, List<String> source) { super(message, cause); this.line = line; this.sourceUrl = sourceUrl; this.source = source; this.lineIndex = lineIndex; } /** * {@inheritDoc} */ @Override public URL getSourceUrl() { return sourceUrl; } /** {@inheritDoc} */ @Override public Integer getLineNumber() { return line; } /** {@inheritDoc} */ @Override public Integer getLineIndex() { return lineIndex; } /** {@inheritDoc} */ @Override public List<String> getSource() { return source; } }