I have a parent class called Component, and several child classes extending from it.   
All the common get/set methods are defined in Component.  So, after each child is 
getting created from addObjectCreate() method, I call addSetProperties() method to 
initialize their values (values are from the xml file), however, digester can't find 
the set methods from the child class, cause they're defined in the parent class 
(Component).  The temporary solution I had was defining those set methods in the child 
classes, and have them call the super methods.  But that seems to defeat the whole 
purpose of inheritance.  Here's an example with the problem:

public class Component {
    public String name = null;
    public void setName(String name) {
        this.name=name;
    }
    public void getname() {
        return this.name;
    }
}

public class ChildClass extend Component {
    //Other methods that differ from parent class
}

for the digester rules:

digester.addObjectCreate("ChildClassPattern", "some.package.ChildClass");
digester.addSetProperties("ChildClassPattern");

so, as it gets to addSetProperties(), it doesn't see any of the get/set methods in 
ChildClass, and yet, it doesn't know to look its parent class, Component.

I hope I'm able to get my problem across.  Thanks again for taking the time to respond.

--Stacy



----- Original Message ----- 
  From: Fernando Esteban Barril Otero 
  To: Struts Users Mailing List 
  Sent: Friday, March 01, 2002 1:48 PM
  Subject: Re: Digester and inheritance


  I'm using digester and inheritance without problems. What kind
  of exception are you getting?

  Fernando

  ----- Original Message -----
  From: "Stacy Weng" <[EMAIL PROTECTED]>
  To: "Struts Users Mailing List" <[EMAIL PROTECTED]>
  Sent: Friday, March 01, 2002 1:20 PM
  Subject: Digester and inheritance


  Has anyone encountered problems with inheritance using Digester?  It seems
  to me that the addSetProperties() does not when its object is inherited from
  a parent class...hence it assumes the get/set methods aren't defined, when
  they are actually defined in its parent class.  I've looked into the source,
  and it seems that the getMethod call that digester uses does not handle
  parent methods.  Is there a patch out there for inheritance with digester?

  Once again, thanks again in advance for any input.  It is greatly
  appreciated.  =)

  --Stacy



  --
  To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
  For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to