1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package fr.paris.lutece.portal.service.html;
35
36 import fr.paris.lutece.portal.service.cache.CacheService;
37 import fr.paris.lutece.portal.service.cache.CacheableService;
38 import fr.paris.lutece.util.xml.XmlTransformer;
39
40 import java.util.ArrayList;
41 import java.util.List;
42
43
44
45
46
47
48 public class XmlTransformerCacheService implements CacheableService
49 {
50 private static final String SERVICE_NAME = "XML Transformer Cache Service (XSLT)";
51 private static final String MSG_KEYS_NOT_AVAILABLE = "Keys not available";
52
53
54
55
56 public static void init( )
57 {
58 CacheService.registerCacheableService( new XmlTransformerCacheService( ) );
59 }
60
61
62
63
64 @Override
65 public String getName( )
66 {
67 return SERVICE_NAME;
68 }
69
70
71
72
73 @Override
74 public boolean isCacheEnable( )
75 {
76 return true;
77 }
78
79
80
81
82 @Override
83 public int getCacheSize( )
84 {
85 return XmlTransformer.getTransformersCount( );
86 }
87
88
89
90
91 @Override
92 public void resetCache( )
93 {
94 XmlTransformer.cleanTransformerList( );
95 }
96
97
98
99
100 @Override
101 public void enableCache( boolean bEnable )
102 {
103
104 }
105
106
107
108
109 @Override
110 public List<String> getKeys( )
111 {
112 List<String> list = new ArrayList<>( );
113 list.add( MSG_KEYS_NOT_AVAILABLE );
114
115 return list;
116 }
117
118
119
120
121 @Override
122 public int getMaxElements( )
123 {
124 return XmlTransformer.TRANSFORMER_POOL_SIZE * XmlTransformer.MAX_TRANSFORMER_SIZE;
125 }
126
127
128
129
130 @Override
131 public long getTimeToLive( )
132 {
133 return 0L;
134 }
135
136
137
138
139 @Override
140 public long getMemorySize( )
141 {
142 return 0L;
143 }
144
145
146
147
148 @Override
149 public String getInfos( )
150 {
151 return "This cache can't be disabled - Poolsize = " + XmlTransformer.TRANSFORMER_POOL_SIZE;
152 }
153 }