我正在尝试修改一个AuthenticatedUser类来存储AdminRole的列表. AuthenticatedUser是我所有应用程序使用的类;当用户成功登录时,它会进入会话.现在我想向用户会话添加授权角色列表.但是,每个应用程序定义的AdminRole类略有不同.例如,我的DataCenter应用程序存储在数据库中:
employee_id
role_name
site_name
receive_email
并非我的所有应用程序都需要receive_email字段,或者可能需要扩展自己的方法.我认为这需要一个抽象类.但是Eclipse在这个片段中抱怨了Authorized_role_list setter上的错误类型.
DataCenterAdminRoleDAO dcAdminDao = new DataCenterAdminRoleDAO();
try {
List authorized_roles = dcAdminDao.getAuthorizedRoleListByBadge(authenticatedUser.getBadge());
authenticatedUser.setAuthorized_role_list(authorized_roles);
=== Classes
public class AuthenticatedUser extends Employee implements Serializable {
private static final long serialVersionUID = 1L;
private List authorized_role_list;
...
}
public abstract class AdminRole implements Serializable {
private static final long serialVersionUID = 1L;
private String role_name; //regular, admin, editor, etc..
private String site_id; //company branches
...
}
public class DataCenterAdminRole extends AdminRole implements Serializable {
显然,修复是在我的Datacenter实现中返回AdminRole列表,但我想通过扩展抽象类我可以传递子类.我错过了什么?