james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bernd Fondermann <bf_...@brainlounge.de>
Subject Re: [mime4j] Review Packaging
Date Sat, 12 Jul 2008 10:42:40 GMT
Robert Burrell Donkin wrote:
> thanks to the great work done by Oleg, Mime4J is much better and has
> quite a lot more classes. a release should be really close now. so,
> it's a good time to review packaging. i think the packages below need
> some thought.
> 
> i think that the packaging strategy has become inconsistent. i think
> that the choice is either to move lots of utility-ish classes out from
> mime4j and into sub-packages, or to remove the decoder and util
> subpackages and move their contents into mime4j.
> 
> i can see arguments either way. lots of classes in a single package is
> less expressive. but libraries can benefit from flat packaging. flat
> packaging can also be an advantage for OSGI.
> 
> opinions?
> 
> (i favour collapsing but there may well be good reasons to take the
> other approach)

Disclaimer: I am from the 
use-lots-of-packages-and-avoid-util-because-you-are-too-lazy-to-find-a-speaking-name 
camp.

> 
> - robert
> 
> package org.apache.james.mime4j
> (http://svn.apache.org/repos/asf/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/)
> # AbstractContentHandler.java
> # AbstractEntity.java
> # BasicBufferingInputStream.java
> # BodyDescriptor.java
> # BufferingInputStream.java
> # BufferingInputStreamAdaptor.java
> # ByteArrayBuffer.java
> # CharArrayBuffer.java
> # CloseShieldInputStream.java
> # ContentDescriptor.java
> # ContentHandler.java
> # DefaultBodyDescriptor.java
> # EOLConvertingInputStream.java
> # EntityStateMachine.java
> # EntityStates.java
> # Event.java
> # InputBuffer.java
> # MaximalBodyDescriptor.java
> # MimeBoundaryInputStream.java
> # MimeEntity.java
> # MimeException.java
> # MimeParseEventException.java
> # MimeStreamParser.java
> # MimeTokenStream.java
> # MutableBodyDescriptor.java
> # RFC1864ContentMD5Descriptor.java
> # RFC2045MimeDescriptor.java
> # RFC2183ContentDispositionDescriptor.java
> # RFC2557ContentLocationDescriptor.java
> # RFC3066ContentLanguageDescriptor.java
> # RawEntity.java
> # RecursionMode.java
> # RootInputStream.java
> 

there is a lot of stream handling. I'd like this to go into 
a.o.j.mime4j.[streams|streaming|io]

I like few classes in the root package, so I can find the most relevant 
classes I have to start from immediately.

Some of the above I would put into
=> o.a.j.m.mime


> in org.apache.james.mime4j.decoder
> (http://svn.apache.org/repos/asf/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/decoder/)
> # Base64InputStream.java
> # QuotedPrintableInputStream.java
> # UnboundedFifoByteBuffer.java

=> o.a.j.m.streams

> 
> in org.apache.james.mime4j.util
> (http://svn.apache.org/repos/asf/james/mime4j/trunk/src/main/java/org/apache/james/mime4j/util/)
> # DecoderUtil.java
> # CharsetUtil.java
> # CodecUtil.java
> # MessageUtils.java
> # MimeUtil.java

=> o.a.j.m.codec|text

> # PartialInputStream.java
> # PositionInputStream.java

=> o.a.j.m.streams

> # ByteQueue.java
> # StringArrayMap.java

=> o.a.j.m.collection

> # SimpleTempStorage.java
> # TempFile.java
> # TempPath.java
> # TempStorage.java

=> o.a.j.m.storage

But I am only a small tiny little mime4j user with nothing to say... ;-)

   Bernd

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Mime
View raw message