如何转发和使用特定于子的方法
我有以下问题:
//class XmlObject is part of org.apache.xmlbeans
public class DepartmentType extends XmlObject; // getName method is defined in this class
public class OrganizatiopnType extends XmlObject; // getName method is defined in this class
XmlObject department = null;
if (a == 1)
department = (DepartmentType) order.getDepartment(); // returns DepartmentType
else
department = (OrganizationType) order.getOrganization(); // returns OrganizationType
department.getName(); // throws cannot find symbol
// ... and do some other complex stuff using methods which are defined in both classes ...
调用getName()方法最简洁的方法是什么?
更新1:
Cybernate,如果你能控制DepartmentType
& OrganizationType
。不幸的是,这些对象是由xmlbeans从XML模式生成的。在我的例子中,我可以重新设计模式,以便两种类型都有共同的基础。
但是如果我不能控制架构呢?我怎么能实现基本的想法?
没有找到相关结果
已邀请:
4 个回复
死簇
否则,它是一个解决方法(hack?)但你可以使用Commons BeanUtils,前提是你生成的类遵循JavaBean命名约定。如果这些对象经常传递,你可以创建一个包装类来使调用更加具体。
任何问题都可以用另一层间接解决.....除了太多的间接。
剑哎
假设您可以控制
和
代码。
撕吠
然后从UnitTypeBase派生* DepartmentType和OrganizationType *
嗜蒂谷尘旱