记录权限的一种策略
public class AuthoritySolution {
??? private static final long m_Read = 0x00000001; // 64 byte
??? private static final long m_Write = 0x00000002;
??? public static boolean canRead(long role) {
??? ??? long t = role & m_Read;
??? ??? return t != 0;
??? }
??? public static boolean canWrite(long role) {
??? ??? long t = role & m_Write;
??? ??? return t != 0;
??? }
??? public static boolean canReadAndWrite(long role) {
??? ??? long t = role & (m_Write | m_Read);
??? ??? return t != 0;
??? }
???
??? public static void main(String[] abc){
??? ???
??? ??? final long roler1=0x00000003;
??? ??? System.out.println("roler1 can read?"+canRead(roler1));
??? ??? System.out.println("roler1 can write?"+canWrite(roler1));
??? ??? System.out.println("roler1 can read and write?"+canReadAndWrite(roler1));
??? ???
??? ??? final long roler2=0x00000004;
??? ??? System.out.println("roler2 can read?"+canRead(roler2));
??? ??? System.out.println("roler2 can write?"+canWrite(roler2));
??? ??? System.out.println("roler2 can read and write?"+canReadAndWrite(roler2));
??? }
}