All Downloads are FREE. Search and download functionalities are using the official Maven repository.

prerna.auth.AccessPermissionEnum Maven / Gradle / Ivy

The newest version!
package prerna.auth;

import java.util.HashMap;
import java.util.Map;

public enum AccessPermissionEnum {
	
	OWNER (1, "OWNER"),
	EDIT (2, "EDIT"),
	READ_ONLY (3, "READ_ONLY");
	
	private final int id;
	private final String permission;
	
	AccessPermissionEnum(int id, String permission) {
		this.id = id;
		this.permission = permission;
	}
	
	public int getId() {
		return this.id;
	}
	
	public String getPermission() {
		return this.permission;
	}
	
	/**
	 * Determine if the permission integer means the user
	 * can modify the database
	 * @param permission
	 * @return
	 */
	public static boolean isEditor(int permission) {
		if(permission == 1 || permission == 2) {
			return true;
		}
		return false;
	}
	
	/**
	 * Determine if the permission integer means the user
	 * can is the database owner
	 * @param permission
	 * @return
	 */
	public static boolean isOwner(int permission) {
		if(permission == 1) {
			return true;
		}
		return false;
	}
	
	public static AccessPermissionEnum getPermissionByValue(String value) {
		AccessPermissionEnum ep = AccessPermissionEnum.READ_ONLY;
		for(AccessPermissionEnum perm : AccessPermissionEnum.values()) {
			if(perm.permission.equalsIgnoreCase(value)) {
				ep = perm;
			}
		}
		
		return ep;
	}
	
	public static String getPermissionValueById(String id) {
		AccessPermissionEnum ep = AccessPermissionEnum.READ_ONLY;
		for(AccessPermissionEnum perm : AccessPermissionEnum.values()) {
			String permId = perm.id + "";
			if(permId.equalsIgnoreCase(id)) {
				ep = perm;
				break;
			}
		}
		
		return ep.getPermission();
	}
	
	public static String getPermissionValueById(int id) {
		AccessPermissionEnum ep = AccessPermissionEnum.READ_ONLY;
		for(AccessPermissionEnum perm : AccessPermissionEnum.values()) {
			if(perm.id == id) {
				ep = perm;
				break;
			}
		}
		
		return ep.getPermission();
	}
	
	public static int getIdByPermission(String id) {
		AccessPermissionEnum ep = AccessPermissionEnum.READ_ONLY;
		for(AccessPermissionEnum perm : AccessPermissionEnum.values()) {
			if(perm.permission.equalsIgnoreCase(id)) {
				ep = perm;
				break;
			}
		}
		
		return ep.getId();
	}
	
	public static Map flushEnumInteger() {
		AccessPermissionEnum[] values = AccessPermissionEnum.values();
		Map flushed = new HashMap<>(values.length);
		for(AccessPermissionEnum e : values) {
			flushed.put(e.id, e.permission);
		}
		
		return flushed;
	}
	
	public static Map flushEnumString() {
		AccessPermissionEnum[] values = AccessPermissionEnum.values();
		Map flushed = new HashMap<>(values.length);
		for(AccessPermissionEnum e : values) {
			flushed.put(e.permission, e.id);
		}
		
		return flushed;
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy