// ========================================================================
// Copyright (C) zeroth Project Team. All rights reserved.
// GNU AFFERO GENERAL PUBLIC LICENSE Version 3, 19 November 2007
// http://www.gnu.org/licenses/agpl-3.0.txt
// ========================================================================
package zeroth.actor.service.domain.parts;
import java.util.Arrays;
/**
* 権限
* @author nilcy
*/
public enum Auth {
/** 監督者 */
SUPERVISOR,
/** 管理者 */
ADMINISTRATOR,
/** 所属長 */
MANAGER,
/** 推進者 */
LEADER,
/** 担当者 */
MEMBER,
/** 支援者 */
SUPPORTER,
/** 使用者 */
USER;
/** 職名権限の配列 */
private static final Auth[] TITLE_AUTHS = new Auth[] { MANAGER, LEADER, MEMBER };
/** 職員権限の配列 */
private static final Auth[] STAFF_AUTHS = new Auth[] { SUPERVISOR, ADMINISTRATOR, SUPPORTER };
/**
* {@link #TITLE_AUTHS} の取得
* @return {@link #TITLE_AUTHS}
*/
public static Auth[] valuesOfTitle() {
return TITLE_AUTHS;
}
/**
* {@link #STAFF_AUTHS} の取得
* @return {@link #STAFF_AUTHS}
*/
public static Auth[] valuesOfStaff() {
return STAFF_AUTHS;
}
/**
* 職名権限の含有チェック
* @return 含有するとき真。含有されないとき偽。
*/
public boolean isTitleAuth() {
return Arrays.asList(TITLE_AUTHS).contains(this);
}
/**
* 職員権限の含有チェック
* @return 含有するとき真。含有されないとき偽。
*/
public boolean isStaffAuth() {
return Arrays.asList(STAFF_AUTHS).contains(this);
}
}