Why does iBATIS need to know anything about the interface?

Larry


On 7/11/06, Paul Benedict <[EMAIL PROTECTED]> wrote:
Larry, I am implementing an API. So this is the problem I have to deal with
:-(

The other guy is right. Ibatis thinks there is no setId on the Person
because Person interface is read-only, although in the sqlmap I am
constructing a PersonImpl on an ArticleImpl.

I believe ibatis can be changed to solve this problem: Assuming that ibatis
constructs inner objects as it navigates (does it?), it should use the
instance it creates rather than looking at the type from the getter.

Otherwise I will have to have a diferent getter on my object just for ibatis
that returns the impl.

Paul


Larry Meadors <[EMAIL PROTECTED]> wrote:

 So...I do not understand..your beans are interfaces?

How often do you swap out the implementation of your beans? ;-)

Larry


On 7/10/06, Paul Benedict wrote:
> I have two interfaces: Article and Person. My problem is with my Article
> implementation:
>
> public interface Article {
> public Person getPerson();
> }
>
> public class ArticleImpl extends Article {
> private Person person;
> public Person getPerson() {
> return person;
> }
> public void setPerson(Person person) {
> this.person = person;
> }
> // required for ibatis object construction
> public void setPerson(PersonImpl person) {
> this.person = person;
> }
> }
>
> I am using ibatis to construct it as follows:
>
>
>
>
>
> I get that annoying "cannot find WRITABLE property id in Person" message
> because it is looks at Article.getPerson() which returns the interface not
> implementation. But why should that matter? This is wrong behavior, imo. I
> know ibatis constructs the inner object first. It will create a
PersonImpl,
> set property "id" from column "person_id", and then call the setter on
> Article.
>
> Otherwise, I am left believing ibatis cannot work with classes which need
to
> implement a read-only interface..... or someone can recommend the
solution,
> which I might be unable to find?
>
> Paul
>
>
> ________________________________
> How low will we go? Check out Yahoo! Messenger's low PC-to-Phone call
rates.
>
>




 ________________________________
Do you Yahoo!?
 Next-gen email? Have it all with the all-new Yahoo! Mail Beta.


Reply via email to