You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by rd...@apache.org on 2008/09/16 23:36:07 UTC
svn commit: r696072 - in
/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message:
AbstractBody.java Body.java Entity.java Multipart.java
TempFileBinaryBody.java TempFileTextBody.java
Author: rdonkin
Date: Tue Sep 16 14:36:06 2008
New Revision: 696072
URL: http://svn.apache.org/viewvc?rev=696072&view=rev
Log:
MIME4J-72 https://issues.apache.org/jira/browse/MIME4J-72 Contributed by Markus Wiederkehr.
Modified:
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/AbstractBody.java
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/Body.java
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/Entity.java
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/Multipart.java
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/TempFileBinaryBody.java
james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/TempFileTextBody.java
Modified: james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/AbstractBody.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/AbstractBody.java?rev=696072&r1=696071&r2=696072&view=diff
==============================================================================
--- james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/AbstractBody.java (original)
+++ james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/AbstractBody.java Tue Sep 16 14:36:06 2008
@@ -44,4 +44,14 @@
this.parent = parent;
}
+ /**
+ * Subclasses should override this method if they have allocated resources that need to be
+ * freed explicitly (e.g. cannot be simply reclaimed by the garbage collector). The default
+ * implementation of this method does nothing.
+ *
+ * @see org.apache.james.mime4j.message.Disposable#dispose()
+ */
+ public void dispose() {
+ }
+
}
Modified: james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/Body.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/Body.java?rev=696072&r1=696071&r2=696072&view=diff
==============================================================================
--- james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/Body.java (original)
+++ james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/Body.java Tue Sep 16 14:36:06 2008
@@ -30,7 +30,7 @@
*
* @version $Id: Body.java,v 1.4 2004/10/04 15:36:43 ntherning Exp $
*/
-public interface Body {
+public interface Body extends Disposable {
/**
* Gets the parent of this body.
Modified: james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/Entity.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/Entity.java?rev=696072&r1=696071&r2=696072&view=diff
==============================================================================
--- james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/Entity.java (original)
+++ james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/Entity.java Tue Sep 16 14:36:06 2008
@@ -36,7 +36,7 @@
*
* @version $Id: Entity.java,v 1.3 2004/10/02 12:41:11 ntherning Exp $
*/
-public abstract class Entity {
+public abstract class Entity implements Disposable {
private Header header = null;
private Body body = null;
private Entity parent = null;
@@ -193,4 +193,15 @@
// for the wrapping stream writer.
if (encOut != out) encOut.close();
}
+
+ /**
+ * Disposes the body of this entity. Note that the dispose call does not get
+ * forwarded to the parent entity of this Entity.
+ *
+ * @see org.apache.james.mime4j.message.Disposable#dispose()
+ */
+ public void dispose() {
+ if (body != null)
+ body.dispose();
+ }
}
Modified: james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/Multipart.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/Multipart.java?rev=696072&r1=696071&r2=696072&view=diff
==============================================================================
--- james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/Multipart.java (original)
+++ james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/Multipart.java Tue Sep 16 14:36:06 2008
@@ -221,4 +221,16 @@
writer.write(epilogue);
writer.flush();
}
+
+ /**
+ * Disposes the BodyParts of this Multipart. Note that the dispose call does
+ * not get forwarded to the parent entity of this Multipart.
+ *
+ * @see org.apache.james.mime4j.message.Disposable#dispose()
+ */
+ public void dispose() {
+ for (Iterator it = bodyParts.iterator(); it.hasNext();) {
+ ((BodyPart) it.next()).dispose();
+ }
+ }
}
Modified: james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/TempFileBinaryBody.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/TempFileBinaryBody.java?rev=696072&r1=696071&r2=696072&view=diff
==============================================================================
--- james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/TempFileBinaryBody.java (original)
+++ james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/TempFileBinaryBody.java Tue Sep 16 14:36:06 2008
@@ -84,4 +84,13 @@
final InputStream inputStream = getInputStream();
CodecUtil.copy(inputStream,out);
}
+
+ /**
+ * Deletes the temporary file that stores the content of this binary body.
+ *
+ * @see org.apache.james.mime4j.message.Disposable#dispose()
+ */
+ public void dispose() {
+ tempFile.delete();
+ }
}
Modified: james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/TempFileTextBody.java
URL: http://svn.apache.org/viewvc/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/TempFileTextBody.java?rev=696072&r1=696071&r2=696072&view=diff
==============================================================================
--- james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/TempFileTextBody.java (original)
+++ james/mime4j/trunk/src/main/java/org/apache/james/mime4j/message/TempFileTextBody.java Tue Sep 16 14:36:06 2008
@@ -107,4 +107,13 @@
final InputStream inputStream = tempFile.getInputStream();
CodecUtil.copy(inputStream,out);
}
+
+ /**
+ * Deletes the temporary file that stores the content of this text body.
+ *
+ * @see org.apache.james.mime4j.message.Disposable#dispose()
+ */
+ public void dispose() {
+ tempFile.delete();
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org