权限判断表
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.iallchain.beasts.utils;
import java.util.Arrays;
import java.util.List;
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*//**
* @author RulerBug
*/
public class LimitUtils {private static String splitString = "\\*";
private static int t0000 = 0;
private static int t1000 = 8;
private static int t0100 = 4;
private static int t0010 = 2;
private static int t0001 = 1;
private static int tOnlyAdd = t1000;
private static int tOnlyDel = t0100;
private static int tOnlyUpdate = t0010;
private static int tOnlySearch = t0001;
private static int tOnlyNone = t0000;
public static List xm_datatables = Arrays.asList(new String[]{
"xm_farmer",
"xm_artel",
"xm_pasture",
"xm_animal",
"xm_veterinary_drug",
"xm_feed",
"xm_vaccine",
"xm_change_ear_tag",
"xm_harmless_deal",
"xm_such",
"xm_organic_authentication",
"sy_butcher_info",
"sy_packing_info",
"sy_transfer_info"});
public static List datatables = Arrays.asList(new String[]{"sy_butcher_info", "sy_packing_info", "sy_transfer_info"});
/*
*需要确定权限的表
* */
public static enum TABLES {XM_FARMER(0),
XM_ARTEL(1),
XM_PASTURE(2),
XM_ANIMAL(3),
XM_VETERINARY_DRUG(4),
XM_FEED(5),
XM_VACCINE(6),
XM_CHANGE_EAR_TAG(7),
XM_HARMLESS_DEAL(8),
XM_SUCH(9),
XM_ORGANIC_AUTHENTICATION(10),
SY_BUTCHER_INFO(11),
SY_PACKING_INFO(12),
SY_TRANSFER_INFO(13);
private int index;
private TABLES(int index) {
this.index = index;
}public int getIndex() {
return index;
}
}protected static int error = -1;
public static boolean isHaveAdd(int index, String msg) {
if (index == error) {
return false;
}
final String[] split = msg.split(splitString);
String limitALL = split[index];
int AddLimit = tOnlyAdd & Integer.parseInt(limitALL);
return AddLimit == tOnlyAdd;
}public static boolean isHavedEL(int index, String msg) {
if (index == error) {
return false;
}
final String[] split = msg.split(splitString);
String limitALL = split[index];
int DelLimit = tOnlyDel & Integer.parseInt(limitALL);
return DelLimit == tOnlyDel;
}public static boolean isHaveUpdate(int index, String msg) {
if (index == error) {
return false;
}
final String[] split = msg.split(splitString);
String limitALL = split[index];
int UpdateLimit = tOnlyUpdate & Integer.parseInt(limitALL);
return UpdateLimit == tOnlyUpdate;
}public static boolean isHaveSearch(int index, String msg) {
if (index == error) {
return false;
}
final String[] split = msg.split(splitString);
String limitALL = split[index];
int SearchLimit = tOnlySearch & Integer.parseInt(limitALL);
return SearchLimit == tOnlySearch;
}protected static int getTablesIndex(String tableName) {
for (String nameString : xm_datatables) {
if (nameString.equals(tableName)) {
return xm_datatables.indexOf(nameString);
}
}
return error;
}protected static int getTablesIndex(TABLES table) {
return table.getIndex();
}public static boolean isHaveAdd(String table, String msg) {
return isHaveAdd(getTablesIndex(table), msg);
}public static boolean isHaveAdd(TABLES table, String msg) {
return isHaveAdd(getTablesIndex(table), msg);
}public static boolean isHavedEL(String table, String msg) {
return isHavedEL(getTablesIndex(table), msg);
}public static boolean isHavedEL(TABLES table, String msg) {
return isHavedEL(getTablesIndex(table), msg);
}public static boolean isHaveUpdate(String table, String msg) {
return isHaveUpdate(getTablesIndex(table), msg);
}public static boolean isHaveUpdate(TABLES table, String msg) {
return isHaveUpdate(getTablesIndex(table), msg);
}public static boolean isHaveSearch(String table, String msg) {
return isHaveSearch(getTablesIndex(table), msg);
}public static boolean isHaveSearch(TABLES table, String msg) {
return isHaveSearch(getTablesIndex(table), msg);
}public static boolean inBigRank(Long rank) {
return rank <= CommTeys.BigRank;
}public static boolean inSupperBigRank(Long rank) {
return rank <= CommTeys.SupperBigRank;
}
}
【LimitUtils】