Ignore:
Timestamp:
11/05/18 16:32:46 (6 years ago)
Author:
bln4
Message:

org.expeditee.gui.Frame ->
org.expeditee.gui.FrameUtils ->
org.expeditee.items.Permission ->
org.expeditee.items.PermissionPair ->
org.expeditee.items.UserAppliedPermission ->
The beginnings of the new denied level of permissions. A frame with a denied level of permission cannot be navigated too. Denied level permission for items coming soon.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/expeditee/items/UserAppliedPermission.java

    r919 r1193  
    1616 *    along with this program.  If not, see <http://www.gnu.org/licenses/>.
    1717 */
    18 
    1918package org.expeditee.items;
    2019
     20public enum UserAppliedPermission {
     21        denied(-1), none(0), followLinks(1), copy(2), createFrames(3), full(4);
    2122
    22 public enum UserAppliedPermission {
    23         none, followLinks, copy, createFrames, full;
    24        
    25        
    26         public static UserAppliedPermission getPermission(String permissionCode,
    27                         UserAppliedPermission defaultPermission)
    28         {
    29                 if (permissionCode == null)
     23        private final int val;
     24
     25        private UserAppliedPermission(final int val) {
     26                this.val = val;
     27        }
     28
     29        public static UserAppliedPermission getPermission(String permissionCode, final UserAppliedPermission defaultPermission) {
     30                if (permissionCode == null) {
    3031                        return defaultPermission;
     32                }
    3133
    3234                permissionCode = permissionCode.trim().toLowerCase();
    33                 if (permissionCode.length() == 0)
     35                if (permissionCode.length() == 0) {
    3436                        return defaultPermission;
     37                }
    3538
    36                 // if it is a single char just match the first character
    3739                try {
    38                         return values()[Integer.parseInt(permissionCode)];
    39                         // Otherwise match the whole string
    40                 } catch (Exception ex) {
     40                        return resolve(Integer.parseInt(permissionCode), defaultPermission);
     41                } catch (final NumberFormatException e) {
    4142                        try {
    4243                                return valueOf(permissionCode);
    43                         }
    44                         catch (Exception e) {
     44                        } catch (final Exception ex) {
     45                                return defaultPermission;
    4546                        }
    4647                }
    47 
    48                 // default permission
    49                 return defaultPermission;
    5048        }
    5149
    5250        public int getCode() {
    53                 return ordinal();
     51                return val;
    5452        }
    5553
     
    5957
    6058        public static UserAppliedPermission min(UserAppliedPermission p1, UserAppliedPermission p2) {
    61                 return p1.ordinal() < p2.ordinal() ? p1 : p2;
     59                return p1.val < p2.val ? p1 : p2;
    6260        }
    6361
    6462        public static UserAppliedPermission max(UserAppliedPermission p1, UserAppliedPermission p2) {
    65                 return p1.ordinal() > p2.ordinal() ? p1 : p2;
     63                return p1.val > p2.val ? p1 : p2;
     64        }
     65
     66        private static UserAppliedPermission resolve(final int val, final UserAppliedPermission defaultPermission) {
     67                for (UserAppliedPermission p : UserAppliedPermission.values()) {
     68                        if (p.val == val) {
     69                                return p;
     70                        }
     71                }
     72                return defaultPermission;
    6673        }
    6774}
     75//public enum UserAppliedPermission {
     76//      none, followLinks, copy, createFrames, full;
     77//     
     78//     
     79//      public static UserAppliedPermission getPermission(String permissionCode,
     80//                      UserAppliedPermission defaultPermission)
     81//      {
     82//              if (permissionCode == null)
     83//                      return defaultPermission;
     84//
     85//              permissionCode = permissionCode.trim().toLowerCase();
     86//              if (permissionCode.length() == 0)
     87//                      return defaultPermission;
     88//
     89//              // if it is a single char just match the first character
     90//              try {
     91//                      return values()[Integer.parseInt(permissionCode)];
     92//                      // Otherwise match the whole string
     93//              } catch (Exception ex) {
     94//                      try {
     95//                              return valueOf(permissionCode);
     96//                      }
     97//                      catch (Exception e) {
     98//                      }
     99//              }
     100//
     101//              // default permission
     102//              return defaultPermission;
     103//      }
     104//
     105//      public int getCode() {
     106//              return ordinal();
     107//      }
     108//
     109//      public String toString() {
     110//              return this.name();
     111//      }
     112//
     113//      public static UserAppliedPermission min(UserAppliedPermission p1, UserAppliedPermission p2) {
     114//              return p1.ordinal() < p2.ordinal() ? p1 : p2;
     115//      }
     116//
     117//      public static UserAppliedPermission max(UserAppliedPermission p1, UserAppliedPermission p2) {
     118//              return p1.ordinal() > p2.ordinal() ? p1 : p2;
     119//      }
     120//}
Note: See TracChangeset for help on using the changeset viewer.