I'm attempting to write a small parser as part of another larger application. I'd like to do something like the following:
public class Parser { ... ClassA s = new ClassA(); Digester d; d.push(s); ... d.parse(inputStream); ... } class ClassA { LinkedList ClassB; public void addClassB(); } class ClassB { String data1; String data2; String data3; public getters and setters; } I'm using an xmlrules file looks like <digester-rules> ... <pattern value="resolver"> <object-create-rule classname="ClassB" /> <set-properties-rule /> <set-next-rule methodname="addClassB" /> <pattern value="data1"> <call-method-rule methodName="setData1" paramCount="0" /> </pattern> ... </pattern> ... </digester-rules> This all works fine as long as ClassA and ClassB are public classes. But as soon as I try to make them inner classes of the Parser class this fails with an IllegalAccessException (Cannot access a member of class ClassB with modifiers ""). The Digester Developer Guide mentions something about this as a known limitation and says to ask on the mailing list if I think I'm experiencing the problem it mentions. So I'm asking. Is there a way around this or am I forced to have public classes for use with the digester? Since I originally wrote this I've found that I could use the FactoryCreateRule to create an object that doesn't have a no-argument constructor, but I haven't been able to find a proper ruleset that will allow me to do this. Any suggestions? -- Eva Allen Consulting Software Engineer, OCLC, Inc. 6565 Frantz Rd., Dublin, OH 43017 614.764.6009 | [EMAIL PROTECTED] Views contained herein are my own; they do not necessarily reflect those of my employer --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]