1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.myfaces.flow.cdi;
21
22 import java.io.Serializable;
23 import java.util.Map;
24 import org.apache.commons.collections.map.LRUMap;
25
26
27
28
29 class ClientWindowFacesFlowLRUMap extends LRUMap implements Serializable
30 {
31 private transient FlowScopeBeanHolder holder;
32
33 public ClientWindowFacesFlowLRUMap()
34 {
35 }
36
37 public ClientWindowFacesFlowLRUMap(int maxSize)
38 {
39 super(maxSize);
40 }
41
42 public ClientWindowFacesFlowLRUMap(int maxSize, boolean scanUntilRemovable)
43 {
44 super(maxSize, scanUntilRemovable);
45 }
46
47 public ClientWindowFacesFlowLRUMap(int maxSize, float loadFactor)
48 {
49 super(maxSize, loadFactor);
50 }
51
52 public ClientWindowFacesFlowLRUMap(int maxSize, float loadFactor, boolean scanUntilRemovable)
53 {
54 super(maxSize, loadFactor, scanUntilRemovable);
55 }
56
57 public ClientWindowFacesFlowLRUMap(Map map)
58 {
59 super(map);
60 }
61
62 public ClientWindowFacesFlowLRUMap(Map map, boolean scanUntilRemovable)
63 {
64 super(map, scanUntilRemovable);
65 }
66
67 public void setFlowScopeBeanHolder(FlowScopeBeanHolder holder)
68 {
69 this.holder = holder;
70 }
71
72 @Override
73 protected boolean removeLRU(LinkEntry entry)
74 {
75 if (holder != null)
76 {
77 holder.clearFlowMap((String) entry.getKey());
78 }
79 return super.removeLRU(entry);
80 }
81 }