AttributeValueExp.java |
/* * JBoss, the OpenSource J2EE webOS * * Distributable under LGPL license. * See terms of license at gnu.org. */ package javax.management; import org.jboss.mx.util.QueryExpSupport; /** * A String that is an arguement to a query.<p> * * <p><b>Revisions:</b> * <p><b>20020317 Adrian Brock:</b> * <ul> * <li> Make queries thread safe * </ul> * <p><b>20020711 Adrian Brock:</b> * <ul> * <li> Serialization * </ul> * * @author <a href="mailto:Adrian.Brock@HappeningTimes.com">Adrian Brock</a>. * @version $Revision: 1.9 $ */ public class AttributeValueExp implements ValueExp { // Constants --------------------------------------------------- private static final long serialVersionUID = -7768025046539163385L; // Attributes -------------------------------------------------- /** * The attribute name */ private String attr; // Static ----------------------------------------------------- // Constructors ------------------------------------------------ /** * Construct an attribute value expression for the null attribute name */ public AttributeValueExp() { } /** * Construct an attribute value expression for the passed attribute name * * @param attr the attribute name */ public AttributeValueExp(String attr) { this.attr = attr; } // Public ------------------------------------------------------ /** * Get the attribute name. * * @return the attribute name */ public String getAttributeName() { return attr; } // ValueExp Implementation ------------------------------------- public ValueExp apply(ObjectName name) throws BadStringOperationException, BadBinaryOpValueExpException, BadAttributeValueExpException, InvalidApplicationException { Object object = getAttribute(name); if (object != null && object instanceof String) return new StringValueExp((String) object); if (object != null && object instanceof Boolean) return new BooleanValueExp((Boolean) object); if (object != null && object instanceof Number) return new NumericValueExp((Number) object); throw new BadAttributeValueExpException(object); } public void setMBeanServer(MBeanServer server) { QueryExpSupport.server.set(server); } // Object overrides -------------------------------------------- public String toString() { return attr; } // Protected --------------------------------------------------- /** * Get the value of the attribute for a given object name * * @param name - the object name * @return the value of the attribute */ protected Object getAttribute(ObjectName name) { try { return QueryEval.getMBeanServer().getAttribute(name, attr); } catch (Exception e) { return null; } } }
AttributeValueExp.java |