我遇到了以下问题: 有这种java bean:
public abstract class BaseModel {
public void doSomeThing(int x) {
// Do cool stuff here with x
}
}
public class ModelA extends BaseModel {
}
public class ModelB extends BaseModel {
private ModelA modelA;
private OtherStuff otherStuff;
}
我现在正在搜索一种在我的对象树上调用所有BaseModel.doSomeThing(int x)方法的方法。该模型在我的控制之下,所以如果需要我可以修改它。
编辑:希望我能尝试更清楚一点:我想提供基类BaseModel。然后,用户从此基类扩展其类。我想提供一个带有方法doStuff(BaseModel模型)的类,该方法在BaseModel实例提供的对象树中的BasseModel的每个实例上调用doSomeThing(x)。
示例:
ClassToBeFound classToBeFound = new ClassToBeFound();
ModelB modelB = new ModelB();
classToBeFound.magicMethod(modelB, 10);
// this should lead to a call of modelB.doSomeThing(10) and modelB.modelA.doSomeThing(10)
由于我不知道传递给magicMethod的对象的具体对象图,我需要一种方法来找出图中的BaseModel实例。
此致
丹尼尔