You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mime4j-dev@james.apache.org by Norman Maurer <no...@apache.org> on 2011/01/20 14:36:18 UTC
Re: svn commit: r1061294 - in /james/mime4j/branches/dom-api-refactoring:
dom/src/main/java/org/apache/james/mime4j/message/ dom/src/test/java/org/apache/james/mime4j/dom/
examples/src/main/java/org/apache/james/mime4j/samples/transform/ examples/src
Hi Olek,
may I ask you whats the goal of this ? Is it just a prefered style of
doing stuff or more to make it easier to extend it ?
Thx,
Norman
2011/1/20 <ol...@apache.org>:
> Author: olegk
> Date: Thu Jan 20 13:32:03 2011
> New Revision: 1061294
>
> URL: http://svn.apache.org/viewvc?rev=1061294&view=rev
> Log:
> Made methods of AddressFormatter, AddressBuilder and MimeBuilder non-static; renamed MessageWriter to MimeWriter
>
> Modified:
> james/mime4j/branches/dom-api-refactoring/dom/src/main/java/org/apache/james/mime4j/message/MessageBuilderImpl.java
> james/mime4j/branches/dom-api-refactoring/dom/src/main/java/org/apache/james/mime4j/message/MimeBuilder.java
> james/mime4j/branches/dom-api-refactoring/dom/src/test/java/org/apache/james/mime4j/dom/ExampleMessagesRoundtripTest.java
> james/mime4j/branches/dom-api-refactoring/dom/src/test/java/org/apache/james/mime4j/dom/MessageCompleteMailTest.java
> james/mime4j/branches/dom-api-refactoring/dom/src/test/java/org/apache/james/mime4j/dom/MessageHeadlessParserTest.java
> james/mime4j/branches/dom-api-refactoring/dom/src/test/java/org/apache/james/mime4j/dom/MessageParserTest.java
> james/mime4j/branches/dom-api-refactoring/dom/src/test/java/org/apache/james/mime4j/dom/MessageTest.java
> james/mime4j/branches/dom-api-refactoring/dom/src/test/java/org/apache/james/mime4j/dom/MessageWriteToTest.java
> james/mime4j/branches/dom-api-refactoring/dom/src/test/java/org/apache/james/mime4j/dom/MimeBuilderCopyTest.java
> james/mime4j/branches/dom-api-refactoring/examples/src/main/java/org/apache/james/mime4j/samples/transform/TransformMessage.java
> james/mime4j/branches/dom-api-refactoring/examples/src/main/java/org/apache/james/mime4j/samples/tree/MessageTree.java
>
> Modified: james/mime4j/branches/dom-api-refactoring/dom/src/main/java/org/apache/james/mime4j/message/MessageBuilderImpl.java
> URL: http://svn.apache.org/viewvc/james/mime4j/branches/dom-api-refactoring/dom/src/main/java/org/apache/james/mime4j/message/MessageBuilderImpl.java?rev=1061294&r1=1061293&r2=1061294&view=diff
> ==============================================================================
> --- james/mime4j/branches/dom-api-refactoring/dom/src/main/java/org/apache/james/mime4j/message/MessageBuilderImpl.java (original)
> +++ james/mime4j/branches/dom-api-refactoring/dom/src/main/java/org/apache/james/mime4j/message/MessageBuilderImpl.java Thu Jan 20 13:32:03 2011
> @@ -34,12 +34,12 @@ public class MessageBuilderImpl extends
>
> @Override
> public Message newMessage(Message source) {
> - return MimeBuilder.copy(source);
> + return MimeBuilder.DEFAULT.copy(source);
> }
>
> @Override
> public Message parse(InputStream source) throws MimeException, IOException {
> - return MimeBuilder.parse(source,
> + return MimeBuilder.DEFAULT.parse(source,
> mimeEntityConfig,
> storageProvider,
> mutableBodyDescriptorFactory,
>
> Modified: james/mime4j/branches/dom-api-refactoring/dom/src/main/java/org/apache/james/mime4j/message/MimeBuilder.java
> URL: http://svn.apache.org/viewvc/james/mime4j/branches/dom-api-refactoring/dom/src/main/java/org/apache/james/mime4j/message/MimeBuilder.java?rev=1061294&r1=1061293&r2=1061294&view=diff
> ==============================================================================
> --- james/mime4j/branches/dom-api-refactoring/dom/src/main/java/org/apache/james/mime4j/message/MimeBuilder.java (original)
> +++ james/mime4j/branches/dom-api-refactoring/dom/src/main/java/org/apache/james/mime4j/message/MimeBuilder.java Thu Jan 20 13:32:03 2011
> @@ -45,9 +45,12 @@ import org.apache.james.mime4j.stream.Ra
> /**
> * Utility class for copying message and parsing message elements.
> */
> -public final class MimeBuilder {
> +public class MimeBuilder {
>
> - private MimeBuilder() {
> + public static final MimeBuilder DEFAULT = new MimeBuilder();
> +
> + protected MimeBuilder() {
> + super();
> }
>
> /**
> @@ -60,7 +63,7 @@ public final class MimeBuilder {
> * @param other
> * header to copy.
> */
> - public static Header copy(Header other) {
> + public Header copy(Header other) {
> HeaderImpl copy = new HeaderImpl();
> for (Field otherField : other.getFields()) {
> copy.addField(otherField);
> @@ -85,7 +88,7 @@ public final class MimeBuilder {
> * is neither a {@link Message}, {@link Multipart} or
> * {@link SingleBody}.
> */
> - public static BodyPart copy(Entity other) {
> + public BodyPart copy(Entity other) {
> BodyPart copy = new BodyPart();
> if (other.getHeader() != null) {
> copy.setHeader(copy(other.getHeader()));
> @@ -114,7 +117,7 @@ public final class MimeBuilder {
> * is neither a {@link Message}, {@link Multipart} or
> * {@link SingleBody}.
> */
> - public static Multipart copy(Multipart other) {
> + public Multipart copy(Multipart other) {
> MultipartImpl copy = new MultipartImpl(other.getSubType());
> for (Entity otherBodyPart : other.getBodyParts()) {
> copy.addBodyPart(copy(otherBodyPart));
> @@ -147,7 +150,7 @@ public final class MimeBuilder {
> * a {@link MessageImpl}, {@link Multipart} or {@link SingleBody}
> * (or contains such a <code>Body</code>).
> */
> - public static Body copy(Body body) {
> + public Body copy(Body body) {
> if (body == null)
> throw new IllegalArgumentException("Body is null");
>
> @@ -181,7 +184,7 @@ public final class MimeBuilder {
> * is neither a {@link MessageImpl}, {@link Multipart} or
> * {@link SingleBody}.
> */
> - public static Message copy(Message other) {
> + public Message copy(Message other) {
> MessageImpl copy = new MessageImpl();
> if (other.getHeader() != null) {
> copy.setHeader(copy(other.getHeader()));
> @@ -200,7 +203,7 @@ public final class MimeBuilder {
> * @throws IOException on I/O errors.
> * @throws MimeIOException on MIME protocol violations.
> */
> - public static Header parse(
> + public Header parse(
> final InputStream is,
> final DecodeMonitor monitor) throws IOException, MimeIOException {
> final HeaderImpl header = new HeaderImpl();
> @@ -242,7 +245,7 @@ public final class MimeBuilder {
> * @throws MimeIOException
> * on MIME protocol violations.
> */
> - public static Message parse(
> + public Message parse(
> final InputStream is,
> final MimeEntityConfig config,
> final StorageProvider storageProvider,
> @@ -282,7 +285,7 @@ public final class MimeBuilder {
> * @throws MimeIOException
> * on MIME protocol violations.
> */
> - public static Message parse(
> + public Message parse(
> final InputStream is,
> final MimeEntityConfig config,
> final StorageProvider storageProvider,
> @@ -291,7 +294,7 @@ public final class MimeBuilder {
> return parse(is, config, storageProvider, bodyDescFactory, monitor, true, false);
> }
>
> - public static Message parse(
> + public Message parse(
> final InputStream is,
> final MimeEntityConfig config,
> final StorageProvider storageProvider,
> @@ -299,7 +302,7 @@ public final class MimeBuilder {
> return parse(is, config, storageProvider, bodyDescFactory, null);
> }
>
> - public static Message parse(
> + public Message parse(
> final InputStream is,
> final MimeEntityConfig config,
> final StorageProvider storageProvider) throws IOException, MimeIOException {
> @@ -317,7 +320,7 @@ public final class MimeBuilder {
> * @throws MimeIOException
> * on MIME protocol violations.
> */
> - public static Message parse(InputStream is) throws IOException, MimeIOException {
> + public Message parse(InputStream is) throws IOException, MimeIOException {
> return parse(is, null, DefaultStorageProvider.getInstance());
> }
>
> @@ -332,7 +335,7 @@ public final class MimeBuilder {
> * @throws MimeIOException
> * on MIME protocol violations.
> */
> - public static Message parse(InputStream is, MimeEntityConfig config) throws IOException,
> + public Message parse(InputStream is, MimeEntityConfig config) throws IOException,
> MimeIOException {
> return parse(is, config, DefaultStorageProvider.getInstance());
> }
>
> Modified: james/mime4j/branches/dom-api-refactoring/dom/src/test/java/org/apache/james/mime4j/dom/ExampleMessagesRoundtripTest.java
> URL: http://svn.apache.org/viewvc/james/mime4j/branches/dom-api-refactoring/dom/src/test/java/org/apache/james/mime4j/dom/ExampleMessagesRoundtripTest.java?rev=1061294&r1=1061293&r2=1061294&view=diff
> ==============================================================================
> --- james/mime4j/branches/dom-api-refactoring/dom/src/test/java/org/apache/james/mime4j/dom/ExampleMessagesRoundtripTest.java (original)
> +++ james/mime4j/branches/dom-api-refactoring/dom/src/test/java/org/apache/james/mime4j/dom/ExampleMessagesRoundtripTest.java Thu Jan 20 13:32:03 2011
> @@ -58,7 +58,7 @@ public class ExampleMessagesRoundtripTes
> config.setMalformedHeaderStartsBody(true);
> }
> config.setMaxLineLen(-1);
> - Message inputMessage = MimeBuilder.parse(url.openStream(), config);
> + Message inputMessage = MimeBuilder.DEFAULT.parse(url.openStream(), config);
> ByteArrayOutputStream out = new ByteArrayOutputStream();
> inputMessage.writeTo(out);
>
>
> Modified: james/mime4j/branches/dom-api-refactoring/dom/src/test/java/org/apache/james/mime4j/dom/MessageCompleteMailTest.java
> URL: http://svn.apache.org/viewvc/james/mime4j/branches/dom-api-refactoring/dom/src/test/java/org/apache/james/mime4j/dom/MessageCompleteMailTest.java?rev=1061294&r1=1061293&r2=1061294&view=diff
> ==============================================================================
> --- james/mime4j/branches/dom-api-refactoring/dom/src/test/java/org/apache/james/mime4j/dom/MessageCompleteMailTest.java (original)
> +++ james/mime4j/branches/dom-api-refactoring/dom/src/test/java/org/apache/james/mime4j/dom/MessageCompleteMailTest.java Thu Jan 20 13:32:03 2011
> @@ -55,7 +55,7 @@ public class MessageCompleteMailTest ext
>
> private Message createMessage(byte[] octets) throws Exception {
> ByteArrayInputStream in = new ByteArrayInputStream(octets);
> - Message message = MimeBuilder.parse(in);
> + Message message = MimeBuilder.DEFAULT.parse(in);
> return message;
> }
> }
>
> Modified: james/mime4j/branches/dom-api-refactoring/dom/src/test/java/org/apache/james/mime4j/dom/MessageHeadlessParserTest.java
> URL: http://svn.apache.org/viewvc/james/mime4j/branches/dom-api-refactoring/dom/src/test/java/org/apache/james/mime4j/dom/MessageHeadlessParserTest.java?rev=1061294&r1=1061293&r2=1061294&view=diff
> ==============================================================================
> --- james/mime4j/branches/dom-api-refactoring/dom/src/test/java/org/apache/james/mime4j/dom/MessageHeadlessParserTest.java (original)
> +++ james/mime4j/branches/dom-api-refactoring/dom/src/test/java/org/apache/james/mime4j/dom/MessageHeadlessParserTest.java Thu Jan 20 13:32:03 2011
> @@ -44,7 +44,7 @@ public class MessageHeadlessParserTest e
>
> MimeEntityConfig mimeEntityConfig = new MimeEntityConfig();
> mimeEntityConfig.setMalformedHeaderStartsBody(true);
> - Message message = MimeBuilder.parse(new ByteArrayInputStream(headlessContent
> + Message message = MimeBuilder.DEFAULT.parse(new ByteArrayInputStream(headlessContent
> .getBytes("UTF-8")), mimeEntityConfig);
> assertEquals("text/plain", message.getMimeType());
> assertEquals(1, message.getHeader().getFields().size());
> @@ -62,7 +62,7 @@ public class MessageHeadlessParserTest e
>
> MimeEntityConfig mimeEntityConfig = new MimeEntityConfig();
> mimeEntityConfig.setMalformedHeaderStartsBody(true);
> - Message message = MimeBuilder.parse(new ByteArrayInputStream(headlessContent
> + Message message = MimeBuilder.DEFAULT.parse(new ByteArrayInputStream(headlessContent
> .getBytes("UTF-8")), mimeEntityConfig);
> assertEquals("text/plain", message.getMimeType());
> assertEquals(0, message.getHeader().getFields().size());
> @@ -89,7 +89,7 @@ public class MessageHeadlessParserTest e
>
> MimeEntityConfig mimeEntityConfig = new MimeEntityConfig();
> mimeEntityConfig.setHeadlessParsing(contentType);
> - Message message = MimeBuilder.parse(new ByteArrayInputStream(headlessContent
> + Message message = MimeBuilder.DEFAULT.parse(new ByteArrayInputStream(headlessContent
> .getBytes("UTF-8")), mimeEntityConfig);
> assertEquals("multipart/form-data", message.getMimeType());
> assertEquals(1, message.getHeader().getFields().size());
>
> Modified: james/mime4j/branches/dom-api-refactoring/dom/src/test/java/org/apache/james/mime4j/dom/MessageParserTest.java
> URL: http://svn.apache.org/viewvc/james/mime4j/branches/dom-api-refactoring/dom/src/test/java/org/apache/james/mime4j/dom/MessageParserTest.java?rev=1061294&r1=1061293&r2=1061294&view=diff
> ==============================================================================
> --- james/mime4j/branches/dom-api-refactoring/dom/src/test/java/org/apache/james/mime4j/dom/MessageParserTest.java (original)
> +++ james/mime4j/branches/dom-api-refactoring/dom/src/test/java/org/apache/james/mime4j/dom/MessageParserTest.java Thu Jan 20 13:32:03 2011
> @@ -102,7 +102,7 @@ public class MessageParserTest extends T
> config.setMalformedHeaderStartsBody(true);
> }
> config.setMaxLineLen(-1);
> - Message m = MimeBuilder.parse(url.openStream(), config);
> + Message m = MimeBuilder.DEFAULT.parse(url.openStream(), config);
>
> String s = url.toString();
> String prefix = s.substring(0, s.lastIndexOf('.'));
>
> Modified: james/mime4j/branches/dom-api-refactoring/dom/src/test/java/org/apache/james/mime4j/dom/MessageTest.java
> URL: http://svn.apache.org/viewvc/james/mime4j/branches/dom-api-refactoring/dom/src/test/java/org/apache/james/mime4j/dom/MessageTest.java?rev=1061294&r1=1061293&r2=1061294&view=diff
> ==============================================================================
> --- james/mime4j/branches/dom-api-refactoring/dom/src/test/java/org/apache/james/mime4j/dom/MessageTest.java (original)
> +++ james/mime4j/branches/dom-api-refactoring/dom/src/test/java/org/apache/james/mime4j/dom/MessageTest.java Thu Jan 20 13:32:03 2011
> @@ -133,7 +133,7 @@ public class MessageTest extends TestCas
> public void testWriteTo() throws Exception {
> byte[] inputByte = getRawMessageAsByteArray();
>
> - Message m = MimeBuilder.parse(new ByteArrayInputStream(inputByte));
> + Message m = MimeBuilder.DEFAULT.parse(new ByteArrayInputStream(inputByte));
> ByteArrayOutputStream out = new ByteArrayOutputStream();
>
> m.writeTo(out);
> @@ -155,7 +155,7 @@ public class MessageTest extends TestCas
>
> byte[] inputByte = getRawMessageAsByteArray();
>
> - Message m = MimeBuilder.parse(new ByteArrayInputStream(inputByte));
> + Message m = MimeBuilder.DEFAULT.parse(new ByteArrayInputStream(inputByte));
> m.getHeader().addField(DefaultFieldParser.parse(testheader));
>
> assertEquals("header added", m.getHeader().getField(headerName)
>
> Modified: james/mime4j/branches/dom-api-refactoring/dom/src/test/java/org/apache/james/mime4j/dom/MessageWriteToTest.java
> URL: http://svn.apache.org/viewvc/james/mime4j/branches/dom-api-refactoring/dom/src/test/java/org/apache/james/mime4j/dom/MessageWriteToTest.java?rev=1061294&r1=1061293&r2=1061294&view=diff
> ==============================================================================
> --- james/mime4j/branches/dom-api-refactoring/dom/src/test/java/org/apache/james/mime4j/dom/MessageWriteToTest.java (original)
> +++ james/mime4j/branches/dom-api-refactoring/dom/src/test/java/org/apache/james/mime4j/dom/MessageWriteToTest.java Thu Jan 20 13:32:03 2011
> @@ -83,7 +83,7 @@ public class MessageWriteToTest extends
>
> private Message createMessage(byte[] octets) throws Exception {
> ByteArrayInputStream in = new ByteArrayInputStream(octets);
> - Message message = MimeBuilder.parse(in);
> + Message message = MimeBuilder.DEFAULT.parse(in);
> return message;
> }
> }
>
> Modified: james/mime4j/branches/dom-api-refactoring/dom/src/test/java/org/apache/james/mime4j/dom/MimeBuilderCopyTest.java
> URL: http://svn.apache.org/viewvc/james/mime4j/branches/dom-api-refactoring/dom/src/test/java/org/apache/james/mime4j/dom/MimeBuilderCopyTest.java?rev=1061294&r1=1061293&r2=1061294&view=diff
> ==============================================================================
> --- james/mime4j/branches/dom-api-refactoring/dom/src/test/java/org/apache/james/mime4j/dom/MimeBuilderCopyTest.java (original)
> +++ james/mime4j/branches/dom-api-refactoring/dom/src/test/java/org/apache/james/mime4j/dom/MimeBuilderCopyTest.java Thu Jan 20 13:32:03 2011
> @@ -42,7 +42,7 @@ public class MimeBuilderCopyTest extends
> public void testCopyEmptyMessage() throws Exception {
> MessageImpl original = new MessageImpl();
>
> - Message copy = MimeBuilder.copy(original);
> + Message copy = MimeBuilder.DEFAULT.copy(original);
>
> assertNull(copy.getHeader());
> assertNull(copy.getBody());
> @@ -59,7 +59,7 @@ public class MimeBuilderCopyTest extends
> original.setBody(body);
> original.setParent(parent);
>
> - Message copy = MimeBuilder.copy(original);
> + Message copy = MimeBuilder.DEFAULT.copy(original);
>
> assertNotNull(copy.getHeader());
> assertNotSame(header, copy.getHeader());
> @@ -75,7 +75,7 @@ public class MimeBuilderCopyTest extends
> public void testCopyEmptyBodyPart() throws Exception {
> BodyPart original = new BodyPart();
>
> - BodyPart copy = MimeBuilder.copy(original);
> + BodyPart copy = MimeBuilder.DEFAULT.copy(original);
>
> assertNull(copy.getHeader());
> assertNull(copy.getBody());
> @@ -92,7 +92,7 @@ public class MimeBuilderCopyTest extends
> original.setBody(body);
> original.setParent(parent);
>
> - BodyPart copy = MimeBuilder.copy(original);
> + BodyPart copy = MimeBuilder.DEFAULT.copy(original);
>
> assertNotNull(copy.getHeader());
> assertNotSame(header, copy.getHeader());
> @@ -108,7 +108,7 @@ public class MimeBuilderCopyTest extends
> public void testCopyEmptyMultipart() throws Exception {
> Multipart original = new MultipartImpl("mixed");
>
> - Multipart copy = MimeBuilder.copy(original);
> + Multipart copy = MimeBuilder.DEFAULT.copy(original);
>
> assertSame(original.getPreamble(), copy.getPreamble());
> assertSame(original.getEpilogue(), copy.getEpilogue());
> @@ -127,7 +127,7 @@ public class MimeBuilderCopyTest extends
> original.setParent(parent);
> original.addBodyPart(bodyPart);
>
> - Multipart copy = MimeBuilder.copy(original);
> + Multipart copy = MimeBuilder.DEFAULT.copy(original);
>
> assertSame(original.getPreamble(), copy.getPreamble());
> assertSame(original.getEpilogue(), copy.getEpilogue());
> @@ -154,7 +154,7 @@ public class MimeBuilderCopyTest extends
> original.setHeader(new HeaderImpl());
> original.setBody(multipart);
>
> - Message copy = MimeBuilder.copy(original);
> + Message copy = MimeBuilder.DEFAULT.copy(original);
>
> Multipart multipartCopy = (Multipart) copy.getBody();
> List<Entity> bodyParts = multipartCopy.getBodyParts();
> @@ -180,7 +180,7 @@ public class MimeBuilderCopyTest extends
> original.addField(f2);
> original.addField(f3);
>
> - Header copy = MimeBuilder.copy(original);
> + Header copy = MimeBuilder.DEFAULT.copy(original);
>
> // copy must have same fields as original
> assertEquals(Arrays.asList(f1, f2, f3), copy.getFields());
>
> Modified: james/mime4j/branches/dom-api-refactoring/examples/src/main/java/org/apache/james/mime4j/samples/transform/TransformMessage.java
> URL: http://svn.apache.org/viewvc/james/mime4j/branches/dom-api-refactoring/examples/src/main/java/org/apache/james/mime4j/samples/transform/TransformMessage.java?rev=1061294&r1=1061293&r2=1061294&view=diff
> ==============================================================================
> --- james/mime4j/branches/dom-api-refactoring/examples/src/main/java/org/apache/james/mime4j/samples/transform/TransformMessage.java (original)
> +++ james/mime4j/branches/dom-api-refactoring/examples/src/main/java/org/apache/james/mime4j/samples/transform/TransformMessage.java Thu Jan 20 13:32:03 2011
> @@ -91,7 +91,7 @@ public class TransformMessage {
> private static Message transform(Message original) throws IOException, ParseException {
> // Create a copy of the template. The copy can be modified without
> // affecting the original.
> - Message message = MimeBuilder.copy(original);
> + Message message = MimeBuilder.DEFAULT.copy(original);
>
> // In this example we know we have a multipart message. Use
> // Message#isMultipart() if uncertain.
>
> Modified: james/mime4j/branches/dom-api-refactoring/examples/src/main/java/org/apache/james/mime4j/samples/tree/MessageTree.java
> URL: http://svn.apache.org/viewvc/james/mime4j/branches/dom-api-refactoring/examples/src/main/java/org/apache/james/mime4j/samples/tree/MessageTree.java?rev=1061294&r1=1061293&r2=1061294&view=diff
> ==============================================================================
> --- james/mime4j/branches/dom-api-refactoring/examples/src/main/java/org/apache/james/mime4j/samples/tree/MessageTree.java (original)
> +++ james/mime4j/branches/dom-api-refactoring/examples/src/main/java/org/apache/james/mime4j/samples/tree/MessageTree.java Thu Jan 20 13:32:03 2011
> @@ -366,7 +366,7 @@ public class MessageTree extends JPanel
> public static void main(String[] args) {
> try {
>
> - final Message message = MimeBuilder.parse(new FileInputStream(args[0]));
> + final Message message = MimeBuilder.DEFAULT.parse(new FileInputStream(args[0]));
>
> javax.swing.SwingUtilities.invokeLater(new Runnable() {
> public void run() {
>
>
>
Re: svn commit: r1061294
Posted by Norman Maurer <no...@apache.org>.
2011/1/20 Oleg Kalnichevski <ol...@apache.org>:
> On Thu, 2011-01-20 at 14:36 +0100, Norman Maurer wrote:
>> Hi Olek,
>>
>> may I ask you whats the goal of this ? Is it just a prefered style of
>> doing stuff or more to make it easier to extend it ?
>>
>> Thx,
>> Norman
>>
>
> The current mime4j API in trunk is inconsistent about the way various
> classes expose formatting and parsing methods. For instance,
> AddressBuilder / AddressFormatter / MimeBuilder methods are all static,
> whereas MessageWriter methods are non static, but the class provides a
> static DEFAULT instance for convenience. I do not have a strong
> preference for either of two styles as long as things are consistent
> across the entire library. I thought UtilityClass#DEFAULT style had a
> slight advantage of giving the users an option of overriding
> implementations of individual methods, so changed similar utility
> classes to use the same style mainly for the sake of consistency.
>
> I can happily revert to all static methods as before as long as it is ok
> to change MessageWriter as well.
>
> Oleg
>
I'm ok with your changes just wanted to know why you do it ;) So
nothing wrong with it...
Go ahead,
Norman
Re: svn commit: r1061294
Posted by Oleg Kalnichevski <ol...@apache.org>.
On Thu, 2011-01-20 at 14:36 +0100, Norman Maurer wrote:
> Hi Olek,
>
> may I ask you whats the goal of this ? Is it just a prefered style of
> doing stuff or more to make it easier to extend it ?
>
> Thx,
> Norman
>
The current mime4j API in trunk is inconsistent about the way various
classes expose formatting and parsing methods. For instance,
AddressBuilder / AddressFormatter / MimeBuilder methods are all static,
whereas MessageWriter methods are non static, but the class provides a
static DEFAULT instance for convenience. I do not have a strong
preference for either of two styles as long as things are consistent
across the entire library. I thought UtilityClass#DEFAULT style had a
slight advantage of giving the users an option of overriding
implementations of individual methods, so changed similar utility
classes to use the same style mainly for the sake of consistency.
I can happily revert to all static methods as before as long as it is ok
to change MessageWriter as well.
Oleg