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ö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 }