Mercurial Hosting > nabble
comparison 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 |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:7ecd1a4ef557 |
|---|---|
| 1 /* | |
| 2 | |
| 3 Copyright (C) 2003 Franklin Schmidt <frank@gustos.com> | |
| 4 | |
| 5 */ | |
| 6 | |
| 7 package nabble.model; | |
| 8 | |
| 9 import nabble.naml.namespaces.TemplateException; | |
| 10 import java.net.MalformedURLException; | |
| 11 | |
| 12 | |
| 13 public class ModelException extends TemplateException { | |
| 14 | |
| 15 protected ModelException(Name name) { | |
| 16 super(name); | |
| 17 } | |
| 18 | |
| 19 protected ModelException(Name name,String msg) { | |
| 20 super(name,msg); | |
| 21 } | |
| 22 | |
| 23 protected ModelException(Name name,String msg,Exception e) { | |
| 24 super(name,msg,e); | |
| 25 } | |
| 26 | |
| 27 protected ModelException(Name name,Exception e) { | |
| 28 super(name,e); | |
| 29 } | |
| 30 | |
| 31 public static ModelException newInstance(String name,String msg) { | |
| 32 return new ModelException(name(name),msg); | |
| 33 } | |
| 34 | |
| 35 public static ModelException newInstance(String name,Exception cause) { | |
| 36 return new ModelException(name(name),cause); | |
| 37 } | |
| 38 | |
| 39 public static ModelException newInstance(String name,String msg,Exception cause) { | |
| 40 return new ModelException(name(name),msg,cause); | |
| 41 } | |
| 42 | |
| 43 | |
| 44 public static final class TooManyPosts extends ModelException { | |
| 45 TooManyPosts() { | |
| 46 super(name("too_many_posts"),"You have made too many posts in a short time. Please try again later."); | |
| 47 } | |
| 48 } | |
| 49 | |
| 50 public static final class NodeLoop extends ModelException { | |
| 51 NodeLoop(Node node) { | |
| 52 super(name("node_loop"),"setParent creates loop " + node); | |
| 53 } | |
| 54 // protected NodeLoop() {} | |
| 55 } | |
| 56 | |
| 57 public static final class RequiredSubject extends ModelException { | |
| 58 RequiredSubject() { | |
| 59 super(name("required_subject"),"The subject is required."); | |
| 60 } | |
| 61 } | |
| 62 | |
| 63 | |
| 64 public static final class RequiredName extends ModelException { | |
| 65 RequiredName() { | |
| 66 super(name("required_name"),"You must provide a user name."); | |
| 67 } | |
| 68 } | |
| 69 | |
| 70 public static final class InvalidPermalink extends ModelException { | |
| 71 public InvalidPermalink() { | |
| 72 super(name("invalid_permalink")); | |
| 73 } | |
| 74 } | |
| 75 | |
| 76 public static final class ReadOnly extends ModelException { | |
| 77 ReadOnly() { | |
| 78 super(name("read_only"),"Unauthorized to post here."); | |
| 79 } | |
| 80 } | |
| 81 | |
| 82 public static final class NoAnonymous extends ModelException { | |
| 83 public final Node authorizingNode; | |
| 84 | |
| 85 NoAnonymous(Node authorizingNode) { | |
| 86 super(name("no_anonymous"),"Anonymous users may not post here."); | |
| 87 this.authorizingNode = authorizingNode; | |
| 88 } | |
| 89 } | |
| 90 | |
| 91 public static final class AlreadyMember extends ModelException { | |
| 92 AlreadyMember() { | |
| 93 super(name("already_member"),"User is already a member."); | |
| 94 } | |
| 95 } | |
| 96 | |
| 97 public static final class InvalidRecaptcha extends ModelException { | |
| 98 public InvalidRecaptcha() { | |
| 99 super(name("invalid_recaptcha"),"Please verify that you are not a robot."); | |
| 100 } | |
| 101 } | |
| 102 | |
| 103 public static final class InvalidDate extends ModelException { | |
| 104 public InvalidDate(String date) { | |
| 105 super(name("invalid_date"),"invalid date format: " + date); | |
| 106 } | |
| 107 } | |
| 108 | |
| 109 // Spam Handling -------------------------------------------------------------- | |
| 110 | |
| 111 public static abstract class SpamException extends ModelException { | |
| 112 public final String badText; | |
| 113 | |
| 114 public SpamException(Name name, String badText, String msg) { | |
| 115 super(name, msg); | |
| 116 this.badText = badText; | |
| 117 } | |
| 118 } | |
| 119 | |
| 120 public static final class SubjectContainsInvalidWord extends SpamException { | |
| 121 public SubjectContainsInvalidWord(String badText) { | |
| 122 super(name("subject_contains_invalid_spam_word"),badText,"Subject cannot contain \"" + badText + '"'); | |
| 123 } | |
| 124 } | |
| 125 | |
| 126 public static final class MessageContainsInvalidWord extends SpamException { | |
| 127 public MessageContainsInvalidWord(String badText) { | |
| 128 super(name("message_contains_invalid_spam_word"),badText,"Message cannot contain \"" + badText + '"'); | |
| 129 } | |
| 130 } | |
| 131 | |
| 132 public static final class MessageContainsManyInvalidWords extends SpamException { | |
| 133 public MessageContainsManyInvalidWords(String badText) { | |
| 134 super(name("message_contains_many_invalid_spam_words"),badText,"Too many words: \"" + badText + '"'); | |
| 135 } | |
| 136 } | |
| 137 | |
| 138 public static final class SubjectContainsCommonSpamWords extends SpamException { | |
| 139 public SubjectContainsCommonSpamWords(String subject) { | |
| 140 super(name("subject_contains_common_spam_words"),subject,"Subject contains common spam words: \"" + subject + '"'); | |
| 141 } | |
| 142 } | |
| 143 | |
| 144 public static final class MessageContainsCommonSpamWords extends SpamException { | |
| 145 public MessageContainsCommonSpamWords(String message) { | |
| 146 super(name("message_contains_common_spam_words"),message,"Message contains common spam words: \"" + message + '"'); | |
| 147 } | |
| 148 } | |
| 149 | |
| 150 | |
| 151 | |
| 152 public static final class EmailFormat extends ModelException { | |
| 153 public final String badEmail; | |
| 154 | |
| 155 public EmailFormat(String badEmail) { | |
| 156 super(name("invalid_email"),"Invalid email address: '" + badEmail + "'"); | |
| 157 this.badEmail = badEmail; | |
| 158 } | |
| 159 } | |
| 160 | |
| 161 public static final class UrlFormat extends ModelException { | |
| 162 public final String badUrl; | |
| 163 | |
| 164 UrlFormat(String badUrl,MalformedURLException e) { | |
| 165 super(name("url_format"),"Invalid URL: '" + badUrl + "'",e); | |
| 166 this.badUrl = badUrl; | |
| 167 } | |
| 168 } | |
| 169 | |
| 170 public static class InvalidFile extends ModelException { | |
| 171 public final String fileName; | |
| 172 | |
| 173 public InvalidFile(String fileName) { | |
| 174 super(name("invalid_file_exception")); | |
| 175 this.fileName = fileName; | |
| 176 } | |
| 177 } | |
| 178 | |
| 179 public static class InvalidImage extends ModelException { | |
| 180 public final String fileName; | |
| 181 | |
| 182 public InvalidImage(String fileName) { | |
| 183 super(name("invalid_image_exception")); | |
| 184 this.fileName = fileName; | |
| 185 } | |
| 186 } | |
| 187 | |
| 188 } |
