1578
|
1 package luan;
|
|
2
|
|
3 import java.util.Map;
|
|
4 import java.util.Collection;
|
|
5
|
|
6
|
|
7 public interface LuanMutable {
|
|
8 public boolean isImmutable();
|
|
9 public void makeImmutable();
|
|
10
|
|
11 public static void makeImmutable(LuanMutable obj) {
|
|
12 if( obj==null )
|
|
13 return;
|
|
14 obj.makeImmutable();
|
|
15 }
|
|
16
|
|
17 public static void makeImmutable(Object[] a) {
|
|
18 if( a==null )
|
|
19 return;
|
|
20 for( Object obj : a ) {
|
|
21 makeImmutable(obj);
|
|
22 }
|
|
23 }
|
|
24
|
|
25 public static void makeImmutable(Map map) {
|
|
26 if( map==null )
|
|
27 return;
|
|
28 for( Object stupid : map.entrySet() ) {
|
|
29 Map.Entry entry = (Map.Entry)stupid;
|
|
30 makeImmutable(entry.getKey());
|
|
31 makeImmutable(entry.getValue());
|
|
32 }
|
|
33 }
|
|
34
|
|
35 public static void makeImmutable(Collection col) {
|
|
36 if( col==null )
|
|
37 return;
|
|
38 for( Object obj : col ) {
|
|
39 makeImmutable(obj);
|
|
40 }
|
|
41 }
|
|
42
|
|
43 public static void makeImmutable(Object obj) {
|
|
44 if( obj instanceof LuanMutable )
|
|
45 makeImmutable((LuanMutable)obj);
|
|
46 else if( obj instanceof Object[] )
|
|
47 makeImmutable((Object[])obj);
|
|
48 else if( obj instanceof Map )
|
|
49 makeImmutable((Map)obj);
|
|
50 else if( obj instanceof Collection )
|
|
51 makeImmutable((Collection)obj);
|
|
52 }
|
|
53 }
|