我的日常

登录/注册
您现在的位置:论坛 资料库 JAVA开发 > 权限计算帮助类
总共48087条微博

动态微博

查看: 2047|回复: 0

权限计算帮助类

[复制链接]

279

主题

41

听众

689

金钱

版主

该用户从未签到

跳转到指定楼层
楼主
发表于 2015-03-31 09:05:14 |只看该作者 |倒序浏览
  1. package com.fh.util;

  2. import java.math.BigInteger;

  3. /**
  4. * @author Administrator
  5. * 权限计算帮助类
  6. */
  7. public class RightsHelper {
  8.         /**
  9.          * 利用BigInteger对权限进行2的权的和计算
  10.          * @param rights int型权限编码数组
  11.          * @return 2的权的和
  12.          */
  13.         public static BigInteger sumRights(int[] rights){
  14.                 BigInteger num = new BigInteger("0");
  15.                 for(int i=0; i<rights.length; i++){
  16.                         num = num.setBit(rights[i]);
  17.                 }
  18.                 return num;
  19.         }
  20.         /**
  21.          * 利用BigInteger对权限进行2的权的和计算
  22.          * @param rights String型权限编码数组
  23.          * @return 2的权的和
  24.          */
  25.         public static BigInteger sumRights(String[] rights){
  26.                 BigInteger num = new BigInteger("0");
  27.                 for(int i=0; i<rights.length; i++){
  28.                         num = num.setBit(Integer.parseInt(rights[i]));
  29.                 }
  30.                 return num;
  31.         }
  32.        
  33.         /**
  34.          * 测试是否具有指定编码的权限
  35.          * @param sum
  36.          * @param targetRights
  37.          * @return
  38.          */
  39.         public static boolean testRights(BigInteger sum,int targetRights){
  40.                 return sum.testBit(targetRights);
  41.         }
  42.        
  43.         /**
  44.          * 测试是否具有指定编码的权限
  45.          * @param sum
  46.          * @param targetRights
  47.          * @return
  48.          */
  49.         public static boolean testRights(String sum,int targetRights){
  50.                 if(Tools.isEmpty(sum))
  51.                         return false;
  52.                 return testRights(new BigInteger(sum),targetRights);
  53.         }
  54.        
  55.         /**
  56.          * 测试是否具有指定编码的权限
  57.          * @param sum
  58.          * @param targetRights
  59.          * @return
  60.          */
  61.         public static boolean testRights(String sum,String targetRights){
  62.                 if(Tools.isEmpty(sum))
  63.                         return false;
  64.                 return testRights(new BigInteger(sum),targetRights);
  65.         }
  66.        
  67.         /**
  68.          * 测试是否具有指定编码的权限
  69.          * @param sum
  70.          * @param targetRights
  71.          * @return
  72.          */
  73.         public static boolean testRights(BigInteger sum,String targetRights){
  74.                 return testRights(sum,Integer.parseInt(targetRights));
  75.         }
  76. }
复制代码



科帮网 1、本主题所有言论和图片纯属会员个人意见,与本社区立场无关
2、本站所有主题由该帖子作者发表,该帖子作者与科帮网享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和科帮网的同意
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、科帮网管理员和版主有权不事先通知发贴者而删除本文


JAVA爱好者①群:JAVA爱好者① JAVA爱好者②群:JAVA爱好者② JAVA爱好者③ : JAVA爱好者③

快速回复
您需要登录后才可以回帖 登录 | 立即注册

   

关闭

站长推荐上一条 /1 下一条

发布主题 快速回复 返回列表 联系我们 官方QQ群 科帮网手机客户端
快速回复 返回顶部 返回列表