    001    /*****************************************************************************
    002     * Copyright (C) NanoContainer Organization. All rights reserved.            *
    003     * ------------------------------------------------------------------------- *
    004     * The software in this package is published under the terms of the BSD      *
    005     * style license a copy of which has been included with this distribution in *
    006     * the LICENSE.txt file.                                                     *
    007     *                                                                           *
    008     * Original code by Joerg Schaible                                           *
    009     *****************************************************************************/
    010
    011    package org.picocontainer.gems.jmx;
    012
    013    import javax.management.MBeanInfo;
    014    import javax.management.NotCompliantMBeanException;
    015    import javax.management.StandardMBean;
    016
    017
    018    /**
    019     * StandardMBean with a provided MBeanInfo.
    020     * @author J&ouml;rg Schaible
    021     */
    022    public final class StandardNanoMBean extends StandardMBean {
    023        private final MBeanInfo mBeanInfo;
    024
    025        /**
    026         * Construct a StandardNanoMBean. The only difference to a {@link StandardMBean} of the JSR 3 is the user provided
    027         * {@link MBeanInfo}.
    028         * @param implementation
    029         * @param management
    030         * @param mBeanInfo
    031         * @throws NotCompliantMBeanException
    032         */
    033        public StandardNanoMBean(final Object implementation, final Class management, final MBeanInfo mBeanInfo)
    034                throws NotCompliantMBeanException {
    035            super(implementation, management);
    036            this.mBeanInfo = mBeanInfo;
    037        }
    038
    039        /**
    040         * Return the provided {@link MBeanInfo}.
    041         * @see javax.management.StandardMBean#getMBeanInfo()
    042         */
    043        @Override
    044            public MBeanInfo getMBeanInfo() {
    045            return mBeanInfo;
    046        }
    047    }