Mercurial Hosting > nabble
view src/nabble/model/ModelException.java @ 0:7ecd1a4ef557
add content
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 21 Mar 2019 19:15:52 -0600 |
parents | |
children |
line wrap: on
line source
/* Copyright (C) 2003 Franklin Schmidt <frank@gustos.com> */ package nabble.model; import nabble.naml.namespaces.TemplateException; import java.net.MalformedURLException; public class ModelException extends TemplateException { protected ModelException(Name name) { super(name); } protected ModelException(Name name,String msg) { super(name,msg); } protected ModelException(Name name,String msg,Exception e) { super(name,msg,e); } protected ModelException(Name name,Exception e) { super(name,e); } public static ModelException newInstance(String name,String msg) { return new ModelException(name(name),msg); } public static ModelException newInstance(String name,Exception cause) { return new ModelException(name(name),cause); } public static ModelException newInstance(String name,String msg,Exception cause) { return new ModelException(name(name),msg,cause); } public static final class TooManyPosts extends ModelException { TooManyPosts() { super(name("too_many_posts"),"You have made too many posts in a short time. Please try again later."); } } public static final class NodeLoop extends ModelException { NodeLoop(Node node) { super(name("node_loop"),"setParent creates loop " + node); } // protected NodeLoop() {} } public static final class RequiredSubject extends ModelException { RequiredSubject() { super(name("required_subject"),"The subject is required."); } } public static final class RequiredName extends ModelException { RequiredName() { super(name("required_name"),"You must provide a user name."); } } public static final class InvalidPermalink extends ModelException { public InvalidPermalink() { super(name("invalid_permalink")); } } public static final class ReadOnly extends ModelException { ReadOnly() { super(name("read_only"),"Unauthorized to post here."); } } public static final class NoAnonymous extends ModelException { public final Node authorizingNode; NoAnonymous(Node authorizingNode) { super(name("no_anonymous"),"Anonymous users may not post here."); this.authorizingNode = authorizingNode; } } public static final class AlreadyMember extends ModelException { AlreadyMember() { super(name("already_member"),"User is already a member."); } } public static final class InvalidRecaptcha extends ModelException { public InvalidRecaptcha() { super(name("invalid_recaptcha"),"Please verify that you are not a robot."); } } public static final class InvalidDate extends ModelException { public InvalidDate(String date) { super(name("invalid_date"),"invalid date format: " + date); } } // Spam Handling -------------------------------------------------------------- public static abstract class SpamException extends ModelException { public final String badText; public SpamException(Name name, String badText, String msg) { super(name, msg); this.badText = badText; } } public static final class SubjectContainsInvalidWord extends SpamException { public SubjectContainsInvalidWord(String badText) { super(name("subject_contains_invalid_spam_word"),badText,"Subject cannot contain \"" + badText + '"'); } } public static final class MessageContainsInvalidWord extends SpamException { public MessageContainsInvalidWord(String badText) { super(name("message_contains_invalid_spam_word"),badText,"Message cannot contain \"" + badText + '"'); } } public static final class MessageContainsManyInvalidWords extends SpamException { public MessageContainsManyInvalidWords(String badText) { super(name("message_contains_many_invalid_spam_words"),badText,"Too many words: \"" + badText + '"'); } } public static final class SubjectContainsCommonSpamWords extends SpamException { public SubjectContainsCommonSpamWords(String subject) { super(name("subject_contains_common_spam_words"),subject,"Subject contains common spam words: \"" + subject + '"'); } } public static final class MessageContainsCommonSpamWords extends SpamException { public MessageContainsCommonSpamWords(String message) { super(name("message_contains_common_spam_words"),message,"Message contains common spam words: \"" + message + '"'); } } public static final class EmailFormat extends ModelException { public final String badEmail; public EmailFormat(String badEmail) { super(name("invalid_email"),"Invalid email address: '" + badEmail + "'"); this.badEmail = badEmail; } } public static final class UrlFormat extends ModelException { public final String badUrl; UrlFormat(String badUrl,MalformedURLException e) { super(name("url_format"),"Invalid URL: '" + badUrl + "'",e); this.badUrl = badUrl; } } public static class InvalidFile extends ModelException { public final String fileName; public InvalidFile(String fileName) { super(name("invalid_file_exception")); this.fileName = fileName; } } public static class InvalidImage extends ModelException { public final String fileName; public InvalidImage(String fileName) { super(name("invalid_image_exception")); this.fileName = fileName; } } }