Vasiliy,
 
Very good point.  I will commit a fix to getAccessibleMethodFromInterfaceNest 
tonight.
 
Thank you very much for pointing this out.
 
- Dmitri
 


Vasiliy Stashuk <[EMAIL PROTECTED]> wrote:
Making B public will help. But what if I'm using anonymous class instead 
of B, like this:

JXPathContext ctx = JXPathContext.newContext(new A() {
public String getName() {
return "theName";
}
});

?

Thanks for the help.

On Fri, 04 Mar 2005 16:40:55 +0200, Dmitri Plotnikov 
wrote:

> Vasiliy,
> You need to change the visibility of class B from default to public. 
> JXPath only supports access to public classes.
> Let me know if this helps.
> - Dmitri
>
>
> Vasiliy Stashuk wrote:
> Hi!
>
> I have problem while accessing java bean properties via JXPath. Consider
> following
> example.
>
> puvlic class BlaBla {
> public static interface Provider {
> public String getName();
> }
>
> public static abstract class A implements Provider {
> }
>
> static class B extends A {
> public String getName() {
> return "theName";
> }
> }
>
> public static void main(String[] args) throws Exception {
> B b = new B();
>
> JXPathContext ctx = JXPathContext.newContext(b);
>
> System.out.println(ctx.getValue("name"));
> }
> }
>
> JXPath fails with:
> "org.apache.commons.jxpath.JXPathException: Cannot access property:
> BlaBla$B.name; No read method"
>
> This is may be a bug in the
> ValueUtils.getAccessibleMethodFromInterfaceNest method.
> It doesn't get down thru class hierarchy when looking for public accessor
> method.
>



-- 
All the best,
Vasyl Stashuk

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

Reply via email to