/* * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package com.sun.jmx.mbeanserver; import static com.sun.jmx.mbeanserver.Util.*; import java.lang.reflect.Method; import java.util.Arrays; import java.util.Comparator; import java.util.List; import java.util.Map; import java.util.Set; import javax.management.NotCompliantMBeanException; /** *
An analyzer for a given MBean interface. The analyzer can * be for Standard MBeans or MXBeans, depending on the MBeanIntrospector * passed at construction. * *
The analyzer can * visit the attributes and operations of the interface, calling * a caller-supplied visitor method for each one.
* * @paramReturn an MBeanAnalyzer for the given MBean interface and
* MBeanIntrospector. Calling this method twice with the same
* parameters may return the same object or two different but
* equivalent objects.
*/
// Currently it's two different but equivalent objects. This only
// really impacts proxy generation. For MBean creation, the
// cached PerInterface object for an MBean interface means that
// an analyzer will not be recreated for a second MBean using the
// same interface.
static