1 package cz.cuni.amis.pogamut.base.utils.logging;
2
3 import java.util.Collections;
4 import java.util.HashMap;
5 import java.util.Map;
6
7 import com.google.inject.Inject;
8
9 import cz.cuni.amis.pogamut.base.utils.guice.AgentScoped;
10
11
12
13
14
15
16
17
18
19
20 @AgentScoped
21 public class LogCategories extends AbstractLogCategories {
22
23 private Map<String, LogCategory> categories = Collections.synchronizedMap(new HashMap<String, LogCategory>());
24
25 @Inject
26 public LogCategories() {
27 }
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 @Override
43 public LogCategory getCategory(String name) {
44 LogCategory category = getCategoriesInternal().get(name);
45 if (category != null) {
46 return category;
47 }
48 category = new LogCategory(name);
49 getCategoriesInternal().put(name, category);
50 return category;
51 }
52
53 @Override
54 protected Map<String, LogCategory> getCategoriesInternal() {
55 return categories;
56 }
57 }