I am wondering why the methods getFieldRecursive() and
getNestedFieldRecursive() in class
AbstractPersistentField are private. I would like to
have the ability to override them in a custom
persistent field implementation.
Here is my dilemma:
I have the following classes:
package ojb;
public interface IParent {
IChild getChild();
void setChild(IChild child);
}
package ojb;
public interface IChild {
String getDescription();
void setDescription(String description);
}
package ojb;
public class Parent implements IParent {
private IChild child = null;
public Parent() {
super();
}
public IChild getChild() {
return child;
}
public void setChild(IChild child) {
this.child = child;
}
}
package ojb;
public class Child implements IChild {
private String description = null;
public Child() {
super();
}
public String getDescription() {
return description;
}
public void setDescription(String string) {
description = string;
}
}
I have the following OJB metadata.
<field-descriptor
name="child::description"
column="childDescription"
jdbc-type="VARCHAR"
/>
I am using a subclass of
PersistentFieldIntrospectorImpl. The problem is that
when it tries to resolve �child::description,� it ends
up going through the �IChild getChild()� method
signature. This causes it to analyze the fields of
IChild; of course there aren�t any, so it fails with a
MetadataException.
If I could override methods getFieldRecursive() and
getNestedFieldRecursive(), I could substitute at run
time a class that implements IChild.
Any ideas? I really need to return a reference to an
interface here, rather than to a concrete class, as
our design is heavily interface based.
Thanks again, Gary
__________________________________
Do you Yahoo!?
Yahoo! Finance Tax Center - File online. File on time.
http://taxes.yahoo.com/filing.html
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]