2 * Copyright (C) 2009 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
9 package eu
.etaxonomy
.cdm
.persistence
.hibernate
.permission
;
11 import java
.util
.EnumSet
;
19 public class Operation
{
25 final static public EnumSet
<CRUD
> CREATE
= EnumSet
.of(CRUD
.CREATE
);
27 final static public EnumSet
<CRUD
> READ
= EnumSet
.of(CRUD
.READ
);
29 final static public EnumSet
<CRUD
> UPDATE
= EnumSet
.of(CRUD
.UPDATE
);
31 final static public EnumSet
<CRUD
> DELETE
= EnumSet
.of(CRUD
.DELETE
);
33 final static public EnumSet
<CRUD
> ALL
= EnumSet
.allOf(CRUD
.class);
35 final static public EnumSet
<CRUD
> ADMIN
= ALL
; // FIXME remove?
37 final static public EnumSet
<CRUD
> NONE
= EnumSet
.noneOf(CRUD
.class);
39 public static EnumSet
<CRUD
> fromString(String string
){
40 if(string
.equals("ALL")){
43 if(string
.equals("ADMIN")){
46 if(string
.equals("NONE")){
49 return EnumSet
.of(CRUD
.valueOf(string
));
52 public static boolean isOperation(Object o
){
54 return o
instanceof EnumSet
<?
> && ALL
.containsAll((EnumSet
<?
>)o
);
55 } catch (Throwable e
){