@ SuppressWarnings ( "unchecked" ) public MBeanInfoWrapper readMBeanInfo ( InputStream in ) throws ConversionException , IOException , ClassNotFoundException { JSONObject json = parseObject ( in ) ; MBeanInfoWrapper ret = new MBeanInfoWrapper ( ) ; if ( USE_BASE64_FOR_MBEANINFO ) { Object o = readSerialized ( json . get ( N_SERIALIZED ) ) ; if ( ! ( o instanceof MBeanInfo ) ) { throwConversionException ( "readMBeanInfo() receives an instance that's not a MBeanInfo." , json . get ( N_SERIALIZED ) ) ; } ret . mbeanInfo = ( MBeanInfo ) o ; ret . attributesURL = readStringInternal ( json . get ( N_ATTRIBUTES_URL ) ) ; o = readSerialized ( json . get ( OM_ATTRIBUTES ) ) ; if ( ! ( o instanceof HashMap ) ) { throwConversionException ( "readMBeanInfo() receives an instance that's not a HashMap." , json . get ( OM_ATTRIBUTES ) ) ; } ret . attributeURLs = ( Map < String , String > ) o ; o = readSerialized ( json . get ( OM_OPERATIONS ) ) ; if ( ! ( o instanceof HashMap ) ) { throwConversionException ( "readMBeanInfo() receives an instance that's not a HashMap." , json . get ( OM_OPERATIONS ) ) ; } ret . operationURLs = ( Map < String , String > ) o ; return ret ; } ret . attributeURLs = new HashMap < String , String > ( ) ; ret . operationURLs = new HashMap < String , String > ( ) ; String className = readStringInternal ( json . get ( N_CLASSNAME ) ) ; String description = readStringInternal ( json . get ( N_DESCRIPTION ) ) ; Descriptor descriptor = readDescriptor ( json . get ( N_DESCRIPTOR ) ) ; MBeanAttributeInfo [ ] attributes = readAttributes ( json . get ( N_ATTRIBUTES ) , ret . attributeURLs ) ; String attributeURL = readStringInternal ( json . get ( N_ATTRIBUTES_URL ) ) ; MBeanConstructorInfo [ ] constructors = readConstructors ( json . get ( N_CONSTRUCTORS ) ) ; MBeanNotificationInfo [ ] notifications = readNotifications ( json . get ( N_NOTIFICATIONS ) ) ; MBeanOperationInfo [ ] operations = readOperations ( json . get ( N_OPERATIONS ) , ret . operationURLs ) ; ret . attributesURL = attributeURL ; Object o = json . get ( N_SERIALIZED ) ; if ( o != null ) { o = readSerialized ( o ) ; if ( ! ( o instanceof MBeanInfo ) ) { throwConversionException ( "readMBeanInfo() receives an instance that's not a MBeanInfo." , json . get ( N_SERIALIZED ) ) ; } ret . mbeanInfo = ( MBeanInfo ) o ; } else { ret . mbeanInfo = new MBeanInfo ( className , description , attributes , constructors , operations , notifications , descriptor ) ; } return ret ; }
Decode a JSON document to retrieve an MBeanInfoWrapper instance .