camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mathieu Lalonde (Created) (JIRA)" <>
Subject [jira] [Created] (CAMEL-4541) Bean Binding should support interface methods for non-public classes
Date Wed, 12 Oct 2011 22:55:11 GMT
Bean Binding should support interface methods for non-public classes

                 Key: CAMEL-4541
             Project: Camel
          Issue Type: Improvement
          Components: camel-core
            Reporter: Mathieu Lalonde
            Assignee: Mathieu Lalonde
            Priority: Minor
             Fix For: Future

As a user, I'd like to be able to use bean binding for non public classes.
Bean binding is a strong selling point for Camel so it would be nice to have it work for non-public
classes as well, provided that the target method is available via an implemented interface.

// return private implementation of FooInterface
FooInterface foo = Foos.newInstance();

// works fine with plain java

// This will throw an exception at runtime stating that the method can't be invoked (Illegal
from("direct:start").bean(foo, "doStuff").mock("direct:result");

The Bean component should at the very least prefer interface methods (which won't cause the
above exception) to class methods when a matching method is available on both the class and
its interfaces (it currently ignore interface methods).
On a side note, its probably faster to look for interface methods first since there are usually
less of them.

I'll attach a unit test and patch soon.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message