1 /** 2 * 2009, Digitalis Informatica. All rights reserved. Distribuicao e Gestao de Informatica, Lda. Estrada de Paco de Arcos 3 * num.9 - Piso -1 2780-666 Paco de Arcos Telefone: (351) 21 4408990 Fax: (351) 21 4408999 http://www.digitalis.pt 4 */ 5 6 package pt.digitalis.dif.utils.cache; 7 8 /** 9 * @author Pedro Viegas <a href="mailto:pviegas@digitalis.pt">pviegas@digitalis.pt</a><br/> 10 * @created 16 de Mar de 2011 11 */ 12 public enum CacheScope { 13 14 /** For all requests, if no other level exists */ 15 GLOBAL, 16 17 /** Group scope. for every session of a user of this group. Will take precedence over GLOBAL scope **/ 18 GROUP, 19 20 /** Session scope. Ends with session and is saved within it. Will take precedence above all others */ 21 SESSION, 22 23 /** User scope. for every session of the same user. Will take precedence over GROUP and GLOBAL scopes */ 24 USER; 25 26 /** 27 * @param groupID 28 * @return a GROUP instance with the specific group defined 29 */ 30 public static CacheScope GROUPInstance(String groupID) 31 { 32 CacheScope instance = GROUP; 33 instance.setScopeID(groupID); 34 35 return instance; 36 } 37 38 /** 39 * @param sessionID 40 * @return a SESION instance with the specific session defined 41 */ 42 public static CacheScope SESSIONInstance(String sessionID) 43 { 44 CacheScope instance = SESSION; 45 instance.setScopeID(sessionID); 46 47 return instance; 48 } 49 50 /** 51 * @param userID 52 * @return a USER instance with the specific user defined 53 */ 54 public static CacheScope USERInstance(String userID) 55 { 56 CacheScope instance = USER; 57 instance.setScopeID(userID); 58 59 return instance; 60 } 61 62 /** */ 63 private String scopeID; 64 65 /** 66 * Inspector for the 'scopeID' attribute. 67 * 68 * @return the scopeID value 69 */ 70 protected String getScopeID() 71 { 72 return scopeID; 73 } 74 75 /** 76 * Modifier for the 'scopeID' attribute. 77 * 78 * @param scopeID 79 * the new scopeID value to set 80 */ 81 protected void setScopeID(String scopeID) 82 { 83 this.scopeID = scopeID; 84 } 85 }