public final class UserSwitcher extends Object
switchTo(String)
: ユーザの切り替えのみを行います。endSwitch()
を呼び出して、明示的に終了する必要があります。endSwitch()
を呼び出さなかった場合でも、リクエストの終了時に元のユーザに復帰します。switchTo(String, UserSwitchProcedureIF)
: ユーザを切り替えて、指定の処理を実行します。実行終了後は、元のユーザに復帰します。switchTo(Collection, UserSwitchProcedureIF)
: 複数のユーザを順に切り替えて、指定の処理を実行します。実行終了後は、都度元のユーザに復帰します。switchTo(String, IDepartmentBizKey)
: カレント組織を指定したユーザの切り替えのみを行います。endSwitch()
を呼び出して、明示的に終了する必要があります。endSwitch()
を呼び出さなかった場合でも、リクエストの終了時に元のユーザに復帰します。switchTo(String, IDepartmentBizKey, UserSwitchProcedureIF)
:
カレント組織を指定してユーザを切り替えて、指定の処理を実行します。実行終了後は、元のユーザに復帰します。UserSwitchProcedureIF.preProcess(String, IDepartmentBizKey)
を実装してチェックを行ってください。UserSwitchException
が発生します。UserSwitchProcedureIF
を利用した実装方法を以下に示します。UserSwitchProcedure
を利用します。
String userCd = "aoyagi";
// IM-共通マスタの 組織ビジネスキー
を利用します。
DepartmentBizKey departmentBizKey = new DepartmentBizKey();
department.setCompanyCd("comp_sample_01");
department.setDepartmentSetCd("comp_sample_01");
department.setDepartmentCd("dept_sample_21");
UserSwitcher.switchTo(userCd, departmentBizKey, new UserSwitchProcedure() {
public void process() throws UserSwitchException {
try {
// ユーザを切替えた場合の処理;
doSomething();
} catch (SomethingException e) {
throw new UserSwitchException(e);
}
}
});
修飾子とタイプ | メソッドと説明 |
---|---|
static void |
endSwitch()
切り替え処理を終了し、元のアクセスコンテキストの状態に復帰します。
|
static void |
switchTo(Collection<String> userCds,
UserSwitchProcedureIF procedure)
ユーザの切り替えを行い、指定の処理を実行します。
|
static void |
switchTo(String userCd)
一時的にユーザの切り替えを行います。
|
static void |
switchTo(String userCd,
IDepartmentBizKey department)
一時的に実行時のカレント組織を指定してユーザの切り替えを行います。
|
static void |
switchTo(String userCd,
IDepartmentBizKey department,
UserSwitchProcedureIF procedure)
実行時のカレント組織を指定してユーザの切り替えを行い、指定の処理を実行します。
|
static void |
switchTo(String userCd,
UserSwitchProcedureIF procedure)
ユーザの切り替えを行い、指定の処理を実行します。
|
public static void endSwitch()
switchTo(String)
を実行した場合は、処理の終了時に、必ずこのメソッドを呼び出してください。public static void switchTo(Collection<String> userCds, UserSwitchProcedureIF procedure) throws UserSwitchException
userCds
- ユーザコード一覧procedure
- ユーザを切り替えて実行する処理クラスUserSwitchException
- ユーザ切り替え処理に失敗した場合に発生します。public static void switchTo(String userCd) throws UserSwitchException
endSwitch()
を実行する必要があります。endSwitch()
を呼び出さなかった場合でも、リクエストの終了時に元のユーザに復帰します。endSwitch()
を呼ぶ必要はありません。userCd
- ユーザコードUserSwitchException
- ユーザ切り替え処理に失敗した場合に発生します。public static void switchTo(String userCd, IDepartmentBizKey department) throws UserSwitchException
endSwitch()
を実行する必要があります。endSwitch()
を呼び出さなかった場合でも、リクエストの終了時に元のユーザに復帰します。endSwitch()
を呼ぶ必要はありません。userCd
- ユーザコードdepartment
- 組織ビジネスキーUserSwitchException
- ユーザ切り替え処理に失敗した場合に発生します。public static void switchTo(String userCd, IDepartmentBizKey department, UserSwitchProcedureIF procedure) throws UserSwitchException
userCd
- ユーザコードdepartment
- 組織ビジネスキーprocedure
- ユーザを切り替えて実行する処理クラスUserSwitchException
- ユーザ切り替え処理に失敗した場合に発生します。public static void switchTo(String userCd, UserSwitchProcedureIF procedure) throws UserSwitchException
userCd
- ユーザコードprocedure
- ユーザを切り替えて実行する処理クラスUserSwitchException
- ユーザ切り替え処理に失敗した場合に発生します。Copyright © 2012 NTT DATA INTRAMART CORPORATION