package com.arondor.common.management.mbean;
import javax.management.Attribute;
import javax.management.AttributeList;
import javax.management.AttributeNotFoundException;
import javax.management.InvalidAttributeValueException;
import javax.management.MBeanException;
import javax.management.MBeanInfo;
import javax.management.ObjectName;
import javax.management.ReflectionException;
public class MBeanObjectStub implements javax.management.DynamicMBean
{
private Object assignedObject;
private ObjectName registeredObjectName;
public MBeanObjectStub(Class<?> clazz, Object assignedObject, String name)
{
this.assignedObject = assignedObject;
registeredObjectName = MBeanObjectHelper.getSingleton().registerMBean(clazz, this, name);
}
public Object getAttribute(String arg0) throws AttributeNotFoundException, MBeanException, ReflectionException
{
return MBeanObjectHelper.getSingleton().getAttribute(assignedObject, arg0);
}
public AttributeList getAttributes(String[] arg0)
{
return MBeanObjectHelper.getSingleton().getAttributes(assignedObject, arg0);
}
public MBeanInfo getMBeanInfo()
{
String description = "MBeanObject Stub";
return MBeanObjectHelper.getSingleton().getMBeanInfo(assignedObject, description);
}
public Object invoke(String name, Object[] objects, String[] signatureNames) throws MBeanException,
ReflectionException
{
return MBeanObjectHelper.getSingleton().invoke(assignedObject, name, objects, signatureNames);
}
public void setAttribute(Attribute arg0) throws AttributeNotFoundException, InvalidAttributeValueException,
MBeanException, ReflectionException
{
MBeanObjectHelper.getSingleton().setAttribute(assignedObject, arg0);
}
public AttributeList setAttributes(AttributeList arg0)
{
return MBeanObjectHelper.getSingleton().setAttributes(assignedObject, arg0);
}
public void unregister()
{
if (registeredObjectName != null)
{
MBeanObjectHelper.getSingleton().unregisterMBean(registeredObjectName);
}
}
}