1 23 24 29 30 package com.sun.cli.util.stringifier; 31 32 import java.lang.reflect.Array ; 33 import javax.management.*; 34 35 public class MBeanInfoStringifier extends MBeanFeatureInfoStringifier implements Stringifier 36 { 37 public static MBeanInfoStringifier DEFAULT = new MBeanInfoStringifier( ); 38 39 public 40 MBeanInfoStringifier( ) 41 { 42 super( ); 43 } 44 45 public 46 MBeanInfoStringifier( MBeanFeatureInfoStringifierOptions options ) 47 { 48 super( options ); 49 } 50 51 private String  52 stringifyArray( Object [] a, Stringifier stringifier) 53 { 54 String temp = ""; 55 56 if ( Array.getLength( a ) != 0 ) 57 { 58 temp = "\n" + ArrayStringifier.stringify( a, "\n", stringifier); 59 } 60 return( temp ); 61 } 62 63 MBeanAttributeInfoStringifier 65 getMBeanAttributeInfoStringifier( MBeanFeatureInfoStringifierOptions options ) 66 { 67 return( new MBeanAttributeInfoStringifier(options) ); 68 } 69 70 MBeanOperationInfoStringifier 72 getMBeanOperationInfoStringifier( MBeanFeatureInfoStringifierOptions options ) 73 { 74 return( new MBeanOperationInfoStringifier(options) ); 75 } 76 77 MBeanConstructorInfoStringifier 79 getMBeanConstructorInfoStringifier( MBeanFeatureInfoStringifierOptions options ) 80 { 81 return( new MBeanConstructorInfoStringifier(options) ); 82 } 83 84 MBeanNotificationInfoStringifier 86 getMBeanNotificationInfoStringifier( MBeanFeatureInfoStringifierOptions options ) 87 { 88 return( new MBeanNotificationInfoStringifier(options) ); 89 } 90 91 public String  92 stringify( Object o) 93 { 94 String result = ""; 95 final MBeanInfo info = (MBeanInfo)o; 96 97 final MBeanOperationInfo [] operations = info.getOperations(); 98 final MBeanAttributeInfo [] attributes = info.getAttributes(); 99 final MBeanConstructorInfo [] constructors = info.getConstructors(); 100 final MBeanNotificationInfo [] notifications = info.getNotifications(); 101 102 result = "Summary: " + 103 operations.length + " operations, " + 104 attributes.length + " attributes, " + 105 constructors.length + " constructors, " + 106 notifications.length + " notifications" ; 107 108 final MBeanFeatureInfoStringifierOptions options = 109 new MBeanFeatureInfoStringifierOptions( true, "," ); 110 111 if ( attributes != null ) 114 { 115 result = result + "\n\n- Attributes -" + 116 stringifyArray( attributes, getMBeanAttributeInfoStringifier( options ) ); 117 } 118 119 if ( operations != null ) 120 { 121 result = result + "\n\n- Operations -" + 122 stringifyArray( operations, getMBeanOperationInfoStringifier(options) ); 123 } 124 125 if ( constructors != null ) 126 { 127 result = result + "\n\n- Constructors -" + 128 stringifyArray( constructors, getMBeanConstructorInfoStringifier(options) ); 129 } 130 131 if ( notifications!= null ) 132 { 133 result = result + "\n\n- Notifications -" + 134 stringifyArray( notifications, getMBeanNotificationInfoStringifier(options) ); 135 } 136 137 return( result ); 138 139 } 140 } 141 142 143 144 145 146 | Popular Tags |