Author: mwiederkehr
Date: Sat Jan 10 12:28:47 2009
New Revision: 733338
URL: http://svn.apache.org/viewvc?rev=733338&view=rev
Log:
MIME4J-97: Pulled up method getParseException from various Field subclasses to
abstract class Field.
Added:
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/ParseException.java
Modified:
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/MimeException.java
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/AddressListField.java
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/ContentTypeField.java
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/DateTimeField.java
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/Field.java
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/MailboxField.java
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/MailboxListField.java
james/mime4j/trunk/src/main/javacc/org/apache/james/mime4j/field/contenttype/ParseException.java
james/mime4j/trunk/src/main/javacc/org/apache/james/mime4j/field/datetime/ParseException.java
james/mime4j/trunk/src/main/javacc/org/apache/james/mime4j/field/language/ParseException.java
james/mime4j/trunk/src/main/javacc/org/apache/james/mime4j/field/mimeversion/ParseException.java
james/mime4j/trunk/src/main/javacc/org/apache/james/mime4j/field/structured/ParseException.java
james/mime4j/trunk/src/main/jjtree/org/apache/james/mime4j/field/address/ParseException.java
Modified:
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/MimeException.java
URL:
http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/MimeException.java?rev=733338&r1=733337&r2=733338&view=diff
==============================================================================
--- james/mime4j/trunk/src/main/java/org/apache/james/mime4j/MimeException.java
(original)
+++ james/mime4j/trunk/src/main/java/org/apache/james/mime4j/MimeException.java
Sat Jan 10 12:28:47 2009
@@ -33,6 +33,15 @@
}
/**
+ * Constructs a MIME exception with the specified cause.
+ *
+ * @param cause cause of the exception
+ */
+ public MimeException(Throwable cause) {
+ super(cause);
+ }
+
+ /**
* Constructs a MIME exception with the specified detail message and cause.
*
* @param message detail message
Modified:
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/AddressListField.java
URL:
http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/AddressListField.java?rev=733338&r1=733337&r2=733338&view=diff
==============================================================================
---
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/AddressListField.java
(original)
+++
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/AddressListField.java
Sat Jan 10 12:28:47 2009
@@ -46,6 +46,7 @@
return addressList;
}
+ @Override
public ParseException getParseException() {
if (!parsed)
parse();
Modified:
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/ContentTypeField.java
URL:
http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/ContentTypeField.java?rev=733338&r1=733337&r2=733338&view=diff
==============================================================================
---
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/ContentTypeField.java
(original)
+++
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/ContentTypeField.java
Sat Jan 10 12:28:47 2009
@@ -69,6 +69,7 @@
* Gets the exception that was raised during parsing of the field value, if
* any; otherwise, null.
*/
+ @Override
public ParseException getParseException() {
if (!parsed)
parse();
Modified:
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/DateTimeField.java
URL:
http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/DateTimeField.java?rev=733338&r1=733337&r2=733338&view=diff
==============================================================================
---
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/DateTimeField.java
(original)
+++
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/DateTimeField.java
Sat Jan 10 12:28:47 2009
@@ -50,6 +50,7 @@
return date;
}
+ @Override
public ParseException getParseException() {
if (!parsed)
parse();
Modified:
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/Field.java
URL:
http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/Field.java?rev=733338&r1=733337&r2=733338&view=diff
==============================================================================
--- james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/Field.java
(original)
+++ james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/Field.java
Sat Jan 10 12:28:47 2009
@@ -83,6 +83,7 @@
* @param raw the string to parse.
* @return a <code>Field</code> instance.
* @throws MimeException if the raw string cannot be split into field name
and body.
+ * @see #isValidField()
*/
public static Field parse(final String raw) throws MimeException {
@@ -176,7 +177,31 @@
public String getBody() {
return body;
}
-
+
+ /**
+ * Returns <code>true</code> if this field is valid, i.e. no errors were
+ * encountered while parsing the field value.
+ *
+ * @return <code>true</code> if this field is valid, <code>false</code>
+ * otherwise.
+ * @see #getParseException()
+ */
+ public boolean isValidField() {
+ return getParseException() == null;
+ }
+
+ /**
+ * Returns the exception that was thrown by the field parser while parsing
+ * the field value. The result is <code>null</code> if the field is valid
+ * and no errors were encountered.
+ *
+ * @return the exception that was thrown by the field parser or
+ * <code>null</code> if the field is valid.
+ */
+ public ParseException getParseException() {
+ return null;
+ }
+
/**
* Determines if this is a <code>Content-Type</code> field.
*
Modified:
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/MailboxField.java
URL:
http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/MailboxField.java?rev=733338&r1=733337&r2=733338&view=diff
==============================================================================
---
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/MailboxField.java
(original)
+++
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/MailboxField.java
Sat Jan 10 12:28:47 2009
@@ -48,6 +48,7 @@
return mailbox;
}
+ @Override
public ParseException getParseException() {
if (!parsed)
parse();
Modified:
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/MailboxListField.java
URL:
http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/MailboxListField.java?rev=733338&r1=733337&r2=733338&view=diff
==============================================================================
---
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/MailboxListField.java
(original)
+++
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/MailboxListField.java
Sat Jan 10 12:28:47 2009
@@ -47,6 +47,7 @@
return mailboxList;
}
+ @Override
public ParseException getParseException() {
if (!parsed)
parse();
Added:
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/ParseException.java
URL:
http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/ParseException.java?rev=733338&view=auto
==============================================================================
---
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/ParseException.java
(added)
+++
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/field/ParseException.java
Sat Jan 10 12:28:47 2009
@@ -0,0 +1,64 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+
+package org.apache.james.mime4j.field;
+
+import org.apache.james.mime4j.MimeException;
+
+/**
+ * This exception is thrown when parse errors are encountered.
+ */
+public class ParseException extends MimeException {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Constructs a new parse exception with the specified detail message.
+ *
+ * @param message
+ * detail message
+ */
+ protected ParseException(String message) {
+ super(message);
+ }
+
+ /**
+ * Constructs a new parse exception with the specified cause.
+ *
+ * @param cause
+ * the cause
+ */
+ protected ParseException(Throwable cause) {
+ super(cause);
+ }
+
+ /**
+ * Constructs a new parse exception with the specified detail message and
+ * cause.
+ *
+ * @param message
+ * detail message
+ * @param cause
+ * the cause
+ */
+ protected ParseException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+}
Modified:
james/mime4j/trunk/src/main/javacc/org/apache/james/mime4j/field/contenttype/ParseException.java
URL:
http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/javacc/org/apache/james/mime4j/field/contenttype/ParseException.java?rev=733338&r1=733337&r2=733338&view=diff
==============================================================================
---
james/mime4j/trunk/src/main/javacc/org/apache/james/mime4j/field/contenttype/ParseException.java
(original)
+++
james/mime4j/trunk/src/main/javacc/org/apache/james/mime4j/field/contenttype/ParseException.java
Sat Jan 10 12:28:47 2009
@@ -19,18 +19,21 @@
****************************************************************/
package org.apache.james.mime4j.field.contenttype.parser;
-import org.apache.james.mime4j.MimeException;
-
/**
* This exception is thrown when parse errors are encountered.
* You can explicitly create objects of this exception type by
* calling the method generateParseException in the generated
* parser.
*
- * This class has been modified to add a serialVersionUID
- * and to extend MimeException.
+ * Changes for Mime4J:
+ * extends org.apache.james.mime4j.field.ParseException
+ * added serialVersionUID
+ * added constructor ParseException(Throwable)
+ * default detail message is "Cannot parse field"
*/
-public class ParseException extends MimeException {
+public class ParseException extends
org.apache.james.mime4j.field.ParseException {
+
+ private static final long serialVersionUID = 1L;
/**
* This constructor is used by the method "generateParseException"
@@ -49,7 +52,7 @@
String[] tokenImageVal
)
{
- super("Cannot parse field");
+ super("");
specialConstructor = true;
currentToken = currentTokenVal;
expectedTokenSequences = expectedTokenSequencesVal;
@@ -71,6 +74,11 @@
specialConstructor = false;
}
+ public ParseException(Throwable cause) {
+ super(cause);
+ specialConstructor = false;
+ }
+
public ParseException(String message) {
super(message);
specialConstructor = false;
Modified:
james/mime4j/trunk/src/main/javacc/org/apache/james/mime4j/field/datetime/ParseException.java
URL:
http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/javacc/org/apache/james/mime4j/field/datetime/ParseException.java?rev=733338&r1=733337&r2=733338&view=diff
==============================================================================
---
james/mime4j/trunk/src/main/javacc/org/apache/james/mime4j/field/datetime/ParseException.java
(original)
+++
james/mime4j/trunk/src/main/javacc/org/apache/james/mime4j/field/datetime/ParseException.java
Sat Jan 10 12:28:47 2009
@@ -19,18 +19,21 @@
****************************************************************/
package org.apache.james.mime4j.field.datetime.parser;
-import org.apache.james.mime4j.MimeException;
-
/**
* This exception is thrown when parse errors are encountered.
* You can explicitly create objects of this exception type by
* calling the method generateParseException in the generated
* parser.
*
- * This class was modified to extend MimeException
- * and to add a seriaVersionUID.
+ * Changes for Mime4J:
+ * extends org.apache.james.mime4j.field.ParseException
+ * added serialVersionUID
+ * added constructor ParseException(Throwable)
+ * default detail message is "Cannot parse field"
*/
-public class ParseException extends MimeException {
+public class ParseException extends
org.apache.james.mime4j.field.ParseException {
+
+ private static final long serialVersionUID = 1L;
/**
* This constructor is used by the method "generateParseException"
@@ -49,7 +52,7 @@
String[] tokenImageVal
)
{
- super("Cannot parse field");
+ super("");
specialConstructor = true;
currentToken = currentTokenVal;
expectedTokenSequences = expectedTokenSequencesVal;
@@ -71,6 +74,11 @@
specialConstructor = false;
}
+ public ParseException(Throwable cause) {
+ super(cause);
+ specialConstructor = false;
+ }
+
public ParseException(String message) {
super(message);
specialConstructor = false;
Modified:
james/mime4j/trunk/src/main/javacc/org/apache/james/mime4j/field/language/ParseException.java
URL:
http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/javacc/org/apache/james/mime4j/field/language/ParseException.java?rev=733338&r1=733337&r2=733338&view=diff
==============================================================================
---
james/mime4j/trunk/src/main/javacc/org/apache/james/mime4j/field/language/ParseException.java
(original)
+++
james/mime4j/trunk/src/main/javacc/org/apache/james/mime4j/field/language/ParseException.java
Sat Jan 10 12:28:47 2009
@@ -19,18 +19,21 @@
****************************************************************/
package org.apache.james.mime4j.field.language;
-import org.apache.james.mime4j.MimeException;
-
/**
* This exception is thrown when parse errors are encountered.
* You can explicitly create objects of this exception type by
* calling the method generateParseException in the generated
* parser.
*
- * This class was modified to extend MimeException
- * and to add a seriaVersionUID.
+ * Changes for Mime4J:
+ * extends org.apache.james.mime4j.field.ParseException
+ * added serialVersionUID
+ * added constructor ParseException(Throwable)
+ * default detail message is "Cannot parse field"
*/
-public class ParseException extends MimeException {
+public class ParseException extends
org.apache.james.mime4j.field.ParseException {
+
+ private static final long serialVersionUID = 1L;
/**
* This constructor is used by the method "generateParseException"
@@ -49,7 +52,7 @@
String[] tokenImageVal
)
{
- super("Cannot parse field");
+ super("");
specialConstructor = true;
currentToken = currentTokenVal;
expectedTokenSequences = expectedTokenSequencesVal;
@@ -67,13 +70,13 @@
*/
public ParseException() {
- super("Cannot parse field");
- specialConstructor = false;
+ super("Cannot parse field");
+ specialConstructor = false;
}
-
- public ParseException(Throwable t) {
- this(t.getMessage());
- initCause(t);
+
+ public ParseException(Throwable cause) {
+ super(cause);
+ specialConstructor = false;
}
public ParseException(String message) {
Modified:
james/mime4j/trunk/src/main/javacc/org/apache/james/mime4j/field/mimeversion/ParseException.java
URL:
http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/javacc/org/apache/james/mime4j/field/mimeversion/ParseException.java?rev=733338&r1=733337&r2=733338&view=diff
==============================================================================
---
james/mime4j/trunk/src/main/javacc/org/apache/james/mime4j/field/mimeversion/ParseException.java
(original)
+++
james/mime4j/trunk/src/main/javacc/org/apache/james/mime4j/field/mimeversion/ParseException.java
Sat Jan 10 12:28:47 2009
@@ -19,18 +19,21 @@
****************************************************************/
package org.apache.james.mime4j.field.mimeversion;
-import org.apache.james.mime4j.MimeException;
-
/**
* This exception is thrown when parse errors are encountered.
* You can explicitly create objects of this exception type by
* calling the method generateParseException in the generated
* parser.
*
- * This class was modified to extend MimeException
- * and to add a seriaVersionUID.
+ * Changes for Mime4J:
+ * extends org.apache.james.mime4j.field.ParseException
+ * added serialVersionUID
+ * added constructor ParseException(Throwable)
+ * default detail message is "Cannot parse field"
*/
-public class ParseException extends MimeException {
+public class ParseException extends
org.apache.james.mime4j.field.ParseException {
+
+ private static final long serialVersionUID = 1L;
/**
* This constructor is used by the method "generateParseException"
@@ -49,7 +52,7 @@
String[] tokenImageVal
)
{
- super("Cannot parse field");
+ super("");
specialConstructor = true;
currentToken = currentTokenVal;
expectedTokenSequences = expectedTokenSequencesVal;
@@ -70,7 +73,12 @@
super("Cannot parse field");
specialConstructor = false;
}
-
+
+ public ParseException(Throwable cause) {
+ super(cause);
+ specialConstructor = false;
+ }
+
public ParseException(String message) {
super(message);
specialConstructor = false;
Modified:
james/mime4j/trunk/src/main/javacc/org/apache/james/mime4j/field/structured/ParseException.java
URL:
http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/javacc/org/apache/james/mime4j/field/structured/ParseException.java?rev=733338&r1=733337&r2=733338&view=diff
==============================================================================
---
james/mime4j/trunk/src/main/javacc/org/apache/james/mime4j/field/structured/ParseException.java
(original)
+++
james/mime4j/trunk/src/main/javacc/org/apache/james/mime4j/field/structured/ParseException.java
Sat Jan 10 12:28:47 2009
@@ -19,18 +19,21 @@
****************************************************************/
package org.apache.james.mime4j.field.structured;
-import org.apache.james.mime4j.MimeException;
-
/**
* This exception is thrown when parse errors are encountered.
* You can explicitly create objects of this exception type by
* calling the method generateParseException in the generated
* parser.
*
- * This class was modified to extend MimeException
- * and to add a seriaVersionUID.
+ * Changes for Mime4J:
+ * extends org.apache.james.mime4j.field.ParseException
+ * added serialVersionUID
+ * added constructor ParseException(Throwable)
+ * default detail message is "Cannot parse field"
*/
-public class ParseException extends MimeException {
+public class ParseException extends
org.apache.james.mime4j.field.ParseException {
+
+ private static final long serialVersionUID = 1L;
/**
* This constructor is used by the method "generateParseException"
@@ -49,7 +52,7 @@
String[] tokenImageVal
)
{
- super("Cannot parse field");
+ super("");
specialConstructor = true;
currentToken = currentTokenVal;
expectedTokenSequences = expectedTokenSequencesVal;
@@ -67,13 +70,13 @@
*/
public ParseException() {
- super("Cannot parse field");
- specialConstructor = false;
+ super("Cannot parse field");
+ specialConstructor = false;
}
-
- public ParseException(Throwable t) {
- this(t.getMessage());
- initCause(t);
+
+ public ParseException(Throwable cause) {
+ super(cause);
+ specialConstructor = false;
}
public ParseException(String message) {
Modified:
james/mime4j/trunk/src/main/jjtree/org/apache/james/mime4j/field/address/ParseException.java
URL:
http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/jjtree/org/apache/james/mime4j/field/address/ParseException.java?rev=733338&r1=733337&r2=733338&view=diff
==============================================================================
---
james/mime4j/trunk/src/main/jjtree/org/apache/james/mime4j/field/address/ParseException.java
(original)
+++
james/mime4j/trunk/src/main/jjtree/org/apache/james/mime4j/field/address/ParseException.java
Sat Jan 10 12:28:47 2009
@@ -19,18 +19,21 @@
****************************************************************/
package org.apache.james.mime4j.field.address.parser;
-import org.apache.james.mime4j.MimeException;
-
/**
* This exception is thrown when parse errors are encountered.
* You can explicitly create objects of this exception type by
* calling the method generateParseException in the generated
* parser.
*
- * This class has been modified to extend MimeException
- * and to add a serialVersionUID.
+ * Changes for Mime4J:
+ * extends org.apache.james.mime4j.field.ParseException
+ * added serialVersionUID
+ * added constructor ParseException(Throwable)
+ * default detail message is "Cannot parse field"
*/
-public class ParseException extends MimeException {
+public class ParseException extends
org.apache.james.mime4j.field.ParseException {
+
+ private static final long serialVersionUID = 1L;
/**
* This constructor is used by the method "generateParseException"
@@ -49,7 +52,7 @@
String[] tokenImageVal
)
{
- super("Cannot parse field");
+ super("");
specialConstructor = true;
currentToken = currentTokenVal;
expectedTokenSequences = expectedTokenSequencesVal;
@@ -71,6 +74,11 @@
specialConstructor = false;
}
+ public ParseException(Throwable cause) {
+ super(cause);
+ specialConstructor = false;
+ }
+
public ParseException(String message) {
super(message);
specialConstructor = false;
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]