4
4
import org .apache .ibatis .reflection .factory .ObjectFactory ;
5
5
import org .apache .ibatis .reflection .property .PropertyTokenizer ;
6
6
7
- import java .util .Arrays ;
8
- import java .util .Comparator ;
9
7
import java .util .HashMap ;
10
8
import java .util .Map ;
11
9
12
10
public class MapWrapper extends BaseWrapper {
13
11
14
12
private Map map ;
15
- private Object [] keyArray ;
16
-
17
13
18
14
public MapWrapper (MetaObject metaObject , Map map ) {
19
15
super (metaObject );
20
16
this .map = map ;
21
- updateKeyArray ();
22
17
}
23
18
24
19
public Object get (PropertyTokenizer prop ) {
@@ -37,28 +32,9 @@ public void set(PropertyTokenizer prop, Object value) {
37
32
} else {
38
33
map .put (prop .getName (), value );
39
34
}
40
- updateKeyArray ();
41
35
}
42
36
43
- @ SuppressWarnings ("unchecked" )
44
37
public String findProperty (String name ) {
45
- updateKeyArray ();
46
- if (name != null ) {
47
- Arrays .binarySearch (keyArray , name , new Comparator () {
48
- public int compare (Object o1 , Object o2 ) {
49
- if (o1 == o2 ) {
50
- return 0 ;
51
- } else if (o1 == null && o2 == null ) {
52
- return 0 ;
53
- } else if (o1 == null ) {
54
- return -1 ;
55
- } else if (o2 == null ) {
56
- return 1 ;
57
- }
58
- return ((String ) o1 ).toLowerCase ().compareTo (((String ) o2 ).toLowerCase ());
59
- }
60
- });
61
- }
62
38
return name ;
63
39
}
64
40
@@ -134,9 +110,4 @@ public MetaObject instantiatePropertyValue(String name, PropertyTokenizer prop,
134
110
return MetaObject .forObject (map , metaObject .getObjectFactory (), metaObject .getObjectWrapperFactory ());
135
111
}
136
112
137
- private void updateKeyArray () {
138
- keyArray = map .keySet ().toArray ();
139
- Arrays .sort (keyArray );
140
- }
141
-
142
113
}
0 commit comments