[Seasar-user:8664] Re: [S2Dao] Bean のプロパティに基本型以外を使う方法
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2007年 6月 26日 (火) 00:00:34 JST
小林 (koichik) です.
Date: Mon, 25 Jun 2007 23:11:31 +0900
From: "Nakata Kouji" <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:8662] Re: [S2Dao] Bean のプロパティに基本型以外を使う方法
> 例えば今私のプロジェクトでいうと、権限レベルを int で管理しており、
> 業務に割り当てられた権限レベルとユーザの権限レベルなどから計算によって、
> 権限を持っているか判断しています。
> 権限クラスを用意し、DBに格納された値を保持し、権限レベルに権限を有するかの
> 判定メソッドを持っています。(判定機能を Authority クラスにカプセル化したい)
S2Dao はほとんど使ったことがないのでちょっと怪しいですが,
public static final String authorityAsInt_COLUMN = "AUTHORITY";
public static final String NO_PERSISTENT_PROPS = "authority";
private int authorityAsInt;
public int getAuthorityAsInt() {
return authorityAsInt;
}
public void setAuthorityAsInt(int authorityAsInt) {
this.authorityAsInt = authorityAsInt;
}
public Authority getAuthority() {
return Authority.valueOf(authorityAsInt);
}
public void setAuthority(Authority authority) {
authorityAsInt = authority.intValue();
}
みたいにするのはどうでしょう?
# うまくいくのかどうか分かりませんが.
具象状態と抽象状態を区別する必要があるのではないかと
思うんですよね.
この場合は具象状態を int で表現していて,抽象状態は
Authority で表されるということですよね.
ちなみに JPA (Java Persistence API) では,
JPA 実装はフィールドに直接アクセスして,
アプリケーションはプロパティ (getter/setter) に
アクセスするようにすることで,具象状態と抽象状態を
簡単に使い分けすることができます.
--
<component name="koichik">
<property name="fullName">"Koichi Kobayashi"</property>
<property name="email">"[E-MAIL ADDRESS DELETED]"</property>
<property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>
Seasar-user メーリングリストの案内