Return-Path: Delivered-To: apmail-jakarta-commons-dev-archive@www.apache.org Received: (qmail 72693 invoked from network); 21 Oct 2003 22:24:04 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (208.185.179.12) by minotaur-2.apache.org with SMTP; 21 Oct 2003 22:24:04 -0000 Received: (qmail 4072 invoked by uid 500); 21 Oct 2003 22:23:48 -0000 Delivered-To: apmail-jakarta-commons-dev-archive@jakarta.apache.org Received: (qmail 3848 invoked by uid 500); 21 Oct 2003 22:23:46 -0000 Mailing-List: contact commons-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Jakarta Commons Developers List" Reply-To: "Jakarta Commons Developers List" Delivered-To: mailing list commons-dev@jakarta.apache.org Received: (qmail 3835 invoked from network); 21 Oct 2003 22:23:46 -0000 Received: from unknown (HELO web13005.mail.yahoo.com) (216.136.174.15) by daedalus.apache.org with SMTP; 21 Oct 2003 22:23:46 -0000 Message-ID: <20031021222351.12331.qmail@web13005.mail.yahoo.com> Received: from [62.104.208.93] by web13005.mail.yahoo.com via HTTP; Tue, 21 Oct 2003 23:23:51 BST Date: Tue, 21 Oct 2003 23:23:51 +0100 (BST) From: =?iso-8859-1?q?Ricky=20Panaglucci?= Subject: Re: [digester] why private XXXRule in DigesterRuleParser? To: Jakarta Commons Developers List In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N hello, below is a case, where the existing PatternRule would be usefull ricardo myrules.xml: myobject.xml: Digester d=new Digester() DigesterRuleParser drp=new DigesterRuleParser(d); d.addFactoryCreate("*/set-generic-property-rule", new SetGenericPropertyRuleFactory()); //*** would like to write d.addRule("*/set-generic-property-rule", drp.new PatternRule("pattern")); d.addRule("*/set-generic-property-rule", new XPatternRule("pattern")); d.addSetNext("*/set-generic-property-rule", "add", Rule.class.getName()); RuleSet ruleSet = new FromXmlRuleSet(new Files("myrules").toURL(), drp, d); d.addRuleSet(ruleSet); MyObject obj = (MyObject)d.parse(new File("myobject.xml"); public class SetGenericPropertyRuleFactory extends AbstractObjectCreationFactory { public SetGenericPropertyRuleFactory() { } public Object createObject(Attributes attributes) { String name = attributes.getValue("name"); String value = attributes.getValue("value"); return new GenericPropertyRule( name, value); } } public class GenericPropertiesRule extends Rule { //***source copied from SetPropertyRule with some } public class XPatternRule { //***source copied from PatternRule } --- robert burrell donkin wrote: > +1 > > i'd be happy to see the nested classed in the > xmlrules made public if a > need could be demonstrated. > > - robert > > On Monday, October 20, 2003, at 10:12 PM, Simon > Kitching wrote: > > > Hi Ricky, > > > > You must be referring to > > xmlrules/DigesterRuleParser.java > > > > I'm no expert on the xmlrules package. > > > > However it is normal practice for classes created > solely for the purpose > > of implementing function X to be declared private. > > > > The PatternRule class appears to have been created > *not* with the > > intention of providing additional services to > users of Digester, but > > solely as an implementation detail of the xmlrules > functionality. As > > such, private seems the appropriate scope to me. > > > > If you feel that the functionality of the > PatternRule is useful outside > > of the xmlrules package, then consideration could > be given to > > "promoting" the class to public. > > > > Note however that any class or method declared > public (or protected) is > > part of the "public interface" to a package, and > must: > > (a) be documented much more thoroughly than > private/package classes > > (b) be backwards-compatible in future releases > > (c) be deprecated before removal > > > > So a class really should only be public if it > needs to be. > > > > > > Regards, > > > > Simon > > > > On Tue, 2003-10-21 at 10:02, Ricky Panaglucci > wrote: > >> hello, > >> why do classes like PatternRule have private > access? > >> > >> now, for adding my own rules which may use > surrounding > >> "pattern", i just copied the PatternRule source > [very > >> brown imho] > >> > >> why not make them protected or public? > >> > >> > >> ricardo > >> > >> > ________________________________________________________________________ > >> Want to chat instantly with your online friends? > Get the FREE Yahoo! > >> Messenger http://mail.messenger.yahoo.co.uk > >> > >> > --------------------------------------------------------------------- > >> To unsubscribe, e-mail: > commons-dev-unsubscribe@jakarta.apache.org > >> For additional commands, e-mail: > commons-dev-help@jakarta.apache.org > >> > >> > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: > commons-dev-unsubscribe@jakarta.apache.org > > For additional commands, e-mail: > commons-dev-help@jakarta.apache.org > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: > commons-dev-unsubscribe@jakarta.apache.org > For additional commands, e-mail: > commons-dev-help@jakarta.apache.org > ________________________________________________________________________ Want to chat instantly with your online friends? Get the FREE Yahoo! Messenger http://mail.messenger.yahoo.co.uk --------------------------------------------------------------------- To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org For additional commands, e-mail: commons-dev-help@jakarta.apache.org