1 package com.atlassian.user.impl.cache;
2
3 import com.atlassian.cache.CacheFactory;
4 import com.atlassian.user.Group;
5
6
7
8
9
10
11
12
13
14
15 public class GroupCache
16 {
17 private final CacheFactory cacheFactory;
18 private final String cacheName;
19
20
21
22
23
24 public static final Group NULL_GROUP = new Group()
25 {
26 private String NAME = "NULL GROUP";
27
28 public String getName()
29 {
30 return NAME;
31 }
32
33 public boolean equals(Object obj)
34 {
35 return obj.getClass().getName().equals(getClass().getName());
36 }
37
38 public int hashCode()
39 {
40 return getClass().getName().hashCode();
41 }
42 };
43
44 public GroupCache(CacheFactory cacheFactory, String cacheName)
45 {
46 this.cacheFactory = cacheFactory;
47 this.cacheName = cacheName;
48 }
49
50 private com.atlassian.cache.Cache getCache()
51 {
52 return cacheFactory.getCache(cacheName);
53 }
54
55
56
57
58
59
60
61 public void put(String groupName, Group group)
62 {
63 getCache().put(groupName, group == null ? NULL_GROUP : group);
64 }
65
66
67
68
69
70
71 public Group get(String groupName)
72 {
73 return (Group) getCache().get(groupName);
74 }
75
76 public void remove(String groupName)
77 {
78 getCache().remove(groupName);
79 }
80 }