package org.jruby;
import org.jruby.anno.JRubyClass;
import org.jruby.exceptions.RaiseException;
import org.jruby.exceptions.EncodingError;
@JRubyClass(name="EncodingError", parent="StandardError")
public class RubyEncodingError extends RubyStandardError {
protected RubyEncodingError(Ruby runtime, RubyClass exceptionClass) {
super(runtime, exceptionClass);
}
static RubyClass define(Ruby runtime, RubyClass exceptionClass) {
RubyClass encodingErrorClass = runtime.defineClass("EncodingError", exceptionClass, (r, klass) -> new RubyEncodingError(runtime, klass));
return encodingErrorClass;
}
protected RaiseException constructThrowable(String message) {
return new EncodingError(message, this);
}
@JRubyClass(name="CompatibilityError", parent="EncodingError")
public static class RubyCompatibilityError extends RubyEncodingError {
protected RubyCompatibilityError(Ruby runtime, RubyClass exceptionClass) {
super(runtime, exceptionClass);
}
static RubyClass define(Ruby runtime, RubyClass exceptionClass, RubyModule under) {
return under.defineClassUnder("CompatibilityError", exceptionClass, (r, klass) -> new RubyCompatibilityError(runtime, klass));
}
protected RaiseException constructThrowable(String message) {
return new EncodingError.CompatibilityError(message, this);
}
}
@JRubyClass(name="InvalidByteSequenceError", parent="EncodingError")
public static class RubyInvalidByteSequenceError extends RubyEncodingError {
protected RubyInvalidByteSequenceError(Ruby runtime, RubyClass exceptionClass) {
super(runtime, exceptionClass);
}
static RubyClass define(Ruby runtime, RubyClass exceptionClass, RubyModule under) {
RubyClass invalidByteSequenceErrorClass = under.defineClassUnder("InvalidByteSequenceError", exceptionClass, (r, klass) -> new RubyInvalidByteSequenceError(runtime, klass));
invalidByteSequenceErrorClass.defineAnnotatedMethods(RubyConverter.EncodingErrorMethods.class);
invalidByteSequenceErrorClass.defineAnnotatedMethods(RubyConverter.InvalidByteSequenceErrorMethods.class);
return invalidByteSequenceErrorClass;
}
protected RaiseException constructThrowable(String message) {
return new EncodingError.InvalidByteSequenceError(message, this);
}
}
@JRubyClass(name="UndefinedConversionError", parent="EncodingError")
public static class RubyUndefinedConversionError extends RubyEncodingError {
protected RubyUndefinedConversionError(Ruby runtime, RubyClass exceptionClass) {
super(runtime, exceptionClass);
}
static RubyClass define(Ruby runtime, RubyClass exceptionClass, RubyModule under) {
RubyClass undefinedConversionErrorClass = under.defineClassUnder("UndefinedConversionError", exceptionClass, (r, klass) -> new RubyUndefinedConversionError(runtime, klass));
undefinedConversionErrorClass.defineAnnotatedMethods(RubyConverter.EncodingErrorMethods.class);
undefinedConversionErrorClass.defineAnnotatedMethods(RubyConverter.UndefinedConversionErrorMethods.class);
return undefinedConversionErrorClass;
}
protected RaiseException constructThrowable(String message) {
return new EncodingError.UndefinedConversionError(message, this);
}
}
@JRubyClass(name="ConverterNotFoundError", parent="EncodingError")
public static class RubyConverterNotFoundError extends RubyEncodingError {
protected RubyConverterNotFoundError(Ruby runtime, RubyClass exceptionClass) {
super(runtime, exceptionClass);
}
static RubyClass define(Ruby runtime, RubyClass exceptionClass, RubyModule under) {
RubyClass converterNotFoundErrorClass = under.defineClassUnder("ConverterNotFoundError", exceptionClass, (r, klass) -> new RubyConverterNotFoundError(runtime, klass));
return converterNotFoundErrorClass;
}
protected RaiseException constructThrowable(String message) {
return new EncodingError.ConverterNotFoundError(message, this);
}
}
}