AuthenticatedUser
のリストを格納するようにクラスを変更しようとしていAdminRole
ます。 AuthenticatedUser
私のすべてのアプリケーションで使用されるクラスです。ユーザーが正常にログインすると、セッションに入れられます。次に、承認ロールのリストをユーザーセッションに追加します。ただし、各アプリケーションはAdminRole
クラスを少し異なる方法で定義します。たとえば、私のDataCenterアプリケーションはデータベースに保存します。
employee_id
role_name
site_name
receive_email
すべてのアプリケーションがreceive_emailフィールドを必要とするわけではなく、独自のメソッドを拡張したい場合もあります。これには抽象クラスが必要だと思いました。しかし、Eclipseは、このスニペットのAuthorized_role_listセッターのタイプが間違っていると不平を言っています。
DataCenterAdminRoleDAO dcAdminDao = new DataCenterAdminRoleDAO();
try {
List<DataCenterAdminRole> 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<AdminRole> 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 {
明らかに修正は、データセンターの実装でリストを返すことですがAdminRole
、抽象クラスを拡張することで、サブクラスを渡すことができると思いました。私は何が欠けていますか?