45 lines
964 B
Java
45 lines
964 B
Java
|
package scanner;
|
||
|
|
||
|
import java.io.IOException;
|
||
|
|
||
|
import error.ErrorManager;
|
||
|
import error.LispException;
|
||
|
|
||
|
public interface LispInputStream {
|
||
|
|
||
|
int read();
|
||
|
|
||
|
void unreadLastCharacter();
|
||
|
|
||
|
public static class MaximumUnreadsExceededException extends LispException {
|
||
|
|
||
|
private static final long serialVersionUID = 1L;
|
||
|
|
||
|
@Override
|
||
|
public int getSeverity() {
|
||
|
return ErrorManager.CRITICAL_LEVEL;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public static class UncheckedIOException extends LispException {
|
||
|
|
||
|
private static final long serialVersionUID = 1L;
|
||
|
private IOException ioException;
|
||
|
|
||
|
public UncheckedIOException(IOException ioException) {
|
||
|
this.ioException = ioException;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public int getSeverity() {
|
||
|
return ErrorManager.CRITICAL_LEVEL;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public String getMessage() {
|
||
|
return ioException.getMessage();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|