package tc.oc.pgm.module; import javax.annotation.Nullable; /** * Thrown for map-related problems that cannot be detected until match load time */ public class ModuleLoadException extends Exception { private @Nullable Class<?> module; public ModuleLoadException(@Nullable Class<?> module, String message, Throwable cause) { super(message, cause); this.module = module; } public ModuleLoadException(@Nullable Class<?> module, String message) { this(module, message, null); } public ModuleLoadException(@Nullable Class<?> module) { this(module, null); } public ModuleLoadException(String message, Throwable cause) { this(null, message, cause); } public ModuleLoadException(String message) { this(message, null); } public ModuleLoadException() { this((Class<?>) null); } public void offerModule(Class<?> module) { if(this.module == null) this.module = module; } public @Nullable Class<?> module() { return module; } }