Return-Path: Delivered-To: apmail-james-mime4j-dev-archive@minotaur.apache.org Received: (qmail 33450 invoked from network); 18 Jan 2011 21:41:51 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 18 Jan 2011 21:41:51 -0000 Received: (qmail 3231 invoked by uid 500); 18 Jan 2011 21:41:51 -0000 Delivered-To: apmail-james-mime4j-dev-archive@james.apache.org Received: (qmail 3171 invoked by uid 500); 18 Jan 2011 21:41:50 -0000 Mailing-List: contact mime4j-dev-help@james.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: mime4j-dev@james.apache.org Delivered-To: mailing list mime4j-dev@james.apache.org Received: (qmail 3163 invoked by uid 99); 18 Jan 2011 21:41:50 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 18 Jan 2011 21:41:50 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=10.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of apache@bago.org designates 74.125.82.177 as permitted sender) Received: from [74.125.82.177] (HELO mail-wy0-f177.google.com) (74.125.82.177) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 18 Jan 2011 21:41:42 +0000 Received: by wyf22 with SMTP id 22so127138wyf.22 for ; Tue, 18 Jan 2011 13:41:21 -0800 (PST) Received: by 10.216.161.74 with SMTP id v52mr4871779wek.109.1295386881030; Tue, 18 Jan 2011 13:41:21 -0800 (PST) Received: from mail-wy0-f177.google.com (mail-wy0-f177.google.com [74.125.82.177]) by mx.google.com with ESMTPS id 7sm3262268wet.24.2011.01.18.13.41.19 (version=SSLv3 cipher=RC4-MD5); Tue, 18 Jan 2011 13:41:20 -0800 (PST) Received: by wyf22 with SMTP id 22so127089wyf.22 for ; Tue, 18 Jan 2011 13:41:18 -0800 (PST) MIME-Version: 1.0 Received: by 10.227.136.66 with SMTP id q2mr4619443wbt.58.1295386869550; Tue, 18 Jan 2011 13:41:09 -0800 (PST) Received: by 10.227.9.197 with HTTP; Tue, 18 Jan 2011 13:41:09 -0800 (PST) X-Originating-IP: [78.134.14.200] In-Reply-To: <1295383394.1937.74.camel@ubuntu> References: <4D2C0AEE.5070700@virtualpostman.co.za> <1294749756.3394.48.camel@ubuntu> <1294753533.3394.79.camel@ubuntu> <1294759001.3394.104.camel@ubuntu> <1294776829.1849.8.camel@ubuntu> <1295282617.2126.61.camel@ubuntu> <1295383394.1937.74.camel@ubuntu> Date: Tue, 18 Jan 2011 22:41:09 +0100 Message-ID: Subject: Re: dom / message refactoring; was Re: 0.6.2 or 0.7 any time soon? From: Stefano Bagnara To: mime4j-dev Content-Type: text/plain; charset=ISO-8859-1 2011/1/18 Oleg Kalnichevski : > I understand the downside of having a pure interface based API. However, > you seem to be very keen to position mime4j not only as a utility for > parsing and building mime messages but also as an abstract Document > Object Model with different / alternative implementations. I just do not > see how one can honestly call the existing code in trunk an abstract > Object Model if the only aspect that is abstract is field parsing. We > should either drop the pretense at having an abstract DOM in mime4j and > revert to the state existed before your changes or actually make an > effort to define a truly abstract model even if that means more effort. > > I am very fine with just reverting to the old state, by the way. > > So, what shall I do? Go ahead with your plan. I agree that DOM is incomplete now. I don't think that we'll see alternative implementations, but having a good DOM api is also a way to stabilize an interface and put a clear limit in what can be changed and what cannot be changed. I would like before 1.0 to tell people feel free to refer .dom. classes, don't touch .field./.message./.storage./ . Having no direct dependencies from dom to the implementation is a way to be sure this happen. >> [...] BTW I'm just loud thinking, just go ahead with >> your plan :-) > > I am going to get there shortly. I just prefer to make potentially > contentious changes in small, incremental steps, so that they are easier > to review and agree / disagree upon. I understand. I'm impatient to see your changes :-) Happy hacking Stefano