package org.jboss.mx.util;
import javax.management.QueryExp;
import javax.management.ObjectName;
import javax.management.BadStringOperationException;
import javax.management.BadBinaryOpValueExpException;
import javax.management.BadAttributeValueExpException;
import javax.management.InvalidApplicationException;
import javax.management.MBeanServer;
import javax.management.InstanceNotFoundException;
public class InstanceOfQueryExp implements QueryExp
{
private static final long serialVersionUID = -5765353862268810105L;
MBeanServer server;
String classname;
public InstanceOfQueryExp(String classname)
{
this.classname = classname;
}
public boolean apply(ObjectName name)
throws BadStringOperationException,
BadBinaryOpValueExpException,
BadAttributeValueExpException,
InvalidApplicationException
{
try
{
return server.isInstanceOf(name, classname);
}
catch (InstanceNotFoundException e)
{
throw new InvalidApplicationException(name);
}
}
public void setMBeanServer(MBeanServer server)
{
this.server = server;
}
}