equal
deleted
inserted
replaced
24 */ |
24 */ |
25 |
25 |
26 package sun.management; |
26 package sun.management; |
27 |
27 |
28 import java.lang.management.LockInfo; |
28 import java.lang.management.LockInfo; |
|
29 import java.util.Map; |
29 import javax.management.openmbean.CompositeType; |
30 import javax.management.openmbean.CompositeType; |
30 import javax.management.openmbean.CompositeData; |
31 import javax.management.openmbean.CompositeData; |
31 import javax.management.openmbean.CompositeDataSupport; |
32 import javax.management.openmbean.CompositeDataSupport; |
32 import javax.management.openmbean.OpenDataException; |
33 import javax.management.openmbean.OpenDataException; |
33 |
34 |
55 LockInfoCompositeData licd = new LockInfoCompositeData(li); |
56 LockInfoCompositeData licd = new LockInfoCompositeData(li); |
56 return licd.getCompositeData(); |
57 return licd.getCompositeData(); |
57 } |
58 } |
58 |
59 |
59 protected CompositeData getCompositeData() { |
60 protected CompositeData getCompositeData() { |
60 // CONTENTS OF THIS ARRAY MUST BE SYNCHRONIZED WITH |
61 Map<String,Object> items = Map.of( |
61 // LOCK_INFO_ATTRIBUTES! |
62 CLASS_NAME, lock.getClassName(), |
62 final Object[] lockInfoItemValues = { |
63 IDENTITY_HASH_CODE, lock.getIdentityHashCode() |
63 new String(lock.getClassName()), |
64 ); |
64 lock.getIdentityHashCode(), |
|
65 }; |
|
66 |
65 |
67 try { |
66 try { |
68 return new CompositeDataSupport(LOCK_INFO_COMPOSITE_TYPE, |
67 return new CompositeDataSupport(LOCK_INFO_COMPOSITE_TYPE, items); |
69 LOCK_INFO_ATTRIBUTES, |
|
70 lockInfoItemValues); |
|
71 } catch (OpenDataException e) { |
68 } catch (OpenDataException e) { |
72 // Should never reach here |
69 // Should never reach here |
73 throw Util.newException(e); |
70 throw Util.newException(e); |
74 } |
71 } |
75 } |
72 } |
89 return LOCK_INFO_COMPOSITE_TYPE; |
86 return LOCK_INFO_COMPOSITE_TYPE; |
90 } |
87 } |
91 |
88 |
92 private static final String CLASS_NAME = "className"; |
89 private static final String CLASS_NAME = "className"; |
93 private static final String IDENTITY_HASH_CODE = "identityHashCode"; |
90 private static final String IDENTITY_HASH_CODE = "identityHashCode"; |
94 private static final String[] LOCK_INFO_ATTRIBUTES = { |
|
95 CLASS_NAME, |
|
96 IDENTITY_HASH_CODE, |
|
97 }; |
|
98 |
91 |
99 /* |
92 /* |
100 * Returns a LockInfo object mapped from the given CompositeData. |
93 * Returns a LockInfo object mapped from the given CompositeData. |
101 */ |
94 */ |
102 public static LockInfo toLockInfo(CompositeData cd) { |
95 public static LockInfo toLockInfo(CompositeData cd) { |