FileDocCategorySizeDatePackage
MBeanServerDelegateImpl.javaAPI DocJava SE 6 API10747Tue Jun 10 00:22:02 BST 2008com.sun.jmx.mbeanserver

MBeanServerDelegateImpl

public final class MBeanServerDelegateImpl extends MBeanServerDelegate implements DynamicMBean, MBeanRegistration
This class is the MBean implementation of the MBeanServerDelegate.
since
1.5

Fields Summary
private static final String
dbgTag
The name of this class to be used for tracing
private static final String[]
attributeNames
private static final MBeanAttributeInfo[]
attributeInfos
private final MBeanInfo
delegateInfo
Constructors Summary
public MBeanServerDelegateImpl()

    
       
	super();
	delegateInfo = 
	    new MBeanInfo("javax.management.MBeanServerDelegate",
			  "Represents  the MBean server from the management "+
			  "point of view.",
			  MBeanServerDelegateImpl.attributeInfos, null,
			  null,getNotificationInfo());
    
Methods Summary
private static final voiddebug(java.lang.String clz, java.lang.String func, java.lang.String info)

        Trace.send(Trace.LEVEL_DEBUG, Trace.INFO_MBEANSERVER, clz, func, info);
    
private static final voiddebug(java.lang.String func, java.lang.String info)

        debug(dbgTag, func, info);
    
public java.lang.ObjectgetAttribute(java.lang.String attribute)
Obtains the value of a specific attribute of the MBeanServerDelegate.

param
attribute The name of the attribute to be retrieved
return
The value of the attribute retrieved.
exception
AttributeNotFoundException
exception
MBeanException Wraps a java.lang.Exception thrown by the MBean's getter.

	try {
	    // attribute must not be null
	    //
	    if (attribute == null) 
		throw new AttributeNotFoundException("null");

	    // Extract the requested attribute from file
	    //
	    if (attribute.equals("MBeanServerId")) 
		return getMBeanServerId();
	    else if (attribute.equals("SpecificationName"))
		return getSpecificationName();
	    else if (attribute.equals("SpecificationVersion"))
		return getSpecificationVersion();
	    else if (attribute.equals("SpecificationVendor"))
		return getSpecificationVendor();
	    else if (attribute.equals("ImplementationName"))
		return getImplementationName();
	    else if (attribute.equals("ImplementationVersion"))
		return getImplementationVersion();
	    else if (attribute.equals("ImplementationVendor"))
		return getImplementationVendor();

	    // Unknown attribute
	    //
	    else 
		throw new AttributeNotFoundException("null");

	} catch (AttributeNotFoundException x) {
	    throw x;
	} catch (JMRuntimeException j) {
	    throw j;
	} catch (SecurityException s) {
	    throw s;
	} catch (Exception x) {
	    throw new MBeanException(x,"Failed to get " + attribute);
	}
    
public javax.management.AttributeListgetAttributes(java.lang.String[] attributes)
Makes it possible to get the values of several attributes of the MBeanServerDelegate.

param
attributes A list of the attributes to be retrieved.
return
The list of attributes retrieved.

	// If attributes is null, the get all attributes.
	//
	final String[] attn = (attributes==null?attributeNames:attributes);

	// Prepare the result list.
	//
	final int len = attn.length;
	final AttributeList list = new AttributeList(len);

	// Get each requested attribute.
	//
	for (int i=0;i<len;i++) {
	    try {
		final Attribute a = 
		    new Attribute(attn[i],getAttribute(attn[i]));
		list.add(a);
	    } catch (Exception x) {
		// Skip the attribute that couldn't be obtained.
		//
		debug("getAttributes","Attribute " + attn[i] +
		      " not found.");
	    }
	}

	// Finally return the result.
	//
	return list; 
    
public javax.management.MBeanInfogetMBeanInfo()
Provides the MBeanInfo describing the MBeanServerDelegate.

return
The MBeanInfo describing the MBeanServerDelegate.

	return delegateInfo;
    
public java.lang.Objectinvoke(java.lang.String actionName, java.lang.Object[] params, java.lang.String[] signature)
Always fails since the MBeanServerDelegate MBean has no operation.

param
actionName The name of the action to be invoked.
param
params An array containing the parameters to be set when the action is invoked.
param
signature An array containing the signature of the action.
return
The object returned by the action, which represents the result of invoking the action on the MBean specified.
exception
MBeanException Wraps a java.lang.Exception thrown by the MBean's invoked method.
exception
ReflectionException Wraps a java.lang.Exception thrown while trying to invoke the method.

	// Check that operation name is not null.
	//
        if (actionName == null) {
	    final RuntimeException r = 
	      new IllegalArgumentException("Operation name  cannot be null");
            throw new RuntimeOperationsException(r, 
            "Exception occurred trying to invoke the operation on the MBean");
        } 

	throw new ReflectionException(
			  new NoSuchMethodException(actionName), 
                          "The operation with name " + actionName + 
			  " could not be found");
    
private static final booleanisDebugOn()

        return Trace.isSelected(Trace.LEVEL_DEBUG, Trace.INFO_MBEANSERVER);
    
private static final booleanisTraceOn()

        return Trace.isSelected(Trace.LEVEL_TRACE, Trace.INFO_MBEANSERVER);
    
public final voidpostDeregister()

    
public final voidpostRegister(java.lang.Boolean registrationDone)

    
public final voidpreDeregister()

	throw new IllegalArgumentException(
         	 "The MBeanServerDelegate MBean cannot be unregistered");
    
public final javax.management.ObjectNamepreRegister(javax.management.MBeanServer server, javax.management.ObjectName name)

	if (name == null) return DELEGATE_NAME;
	else return name;
    
public voidsetAttribute(javax.management.Attribute attribute)
This method always fail since all MBeanServerDelegateMBean attributes are read-only.

param
attribute The identification of the attribute to be set and the value it is to be set to.
exception
AttributeNotFoundException

	
	// Now we will always fail:
	// Either because the attribute is null or because it is not
	// accessible (or does not exist).
	//
	final String attname = (attribute==null?null:attribute.getName());
        if (attname == null) {
	    final RuntimeException r = 
		new IllegalArgumentException("Attribute name cannot be null");
            throw new RuntimeOperationsException(r, 
                "Exception occurred trying to invoke the setter on the MBean");
        }  
	
	// This is a hack: we call getAttribute in order to generate an
	// AttributeNotFoundException if the attribute does not exist.
	//
	Object val = getAttribute(attname);

	// If we reach this point, we know that the requested attribute
	// exists. However, since all attributes are read-only, we throw
	// an AttributeNotFoundException.
	//
	throw new AttributeNotFoundException(attname + " not accessible");
    
public javax.management.AttributeListsetAttributes(javax.management.AttributeList attributes)
This method always return an empty list since all MBeanServerDelegateMBean attributes are read-only.

param
attributes A list of attributes: The identification of the attributes to be set and the values they are to be set to.
return
The list of attributes that were set, with their new values. In fact, this method always return an empty list since all MBeanServerDelegateMBean attributes are read-only.

	return new AttributeList(0);
    
private static final voidtrace(java.lang.String clz, java.lang.String func, java.lang.String info)

        Trace.send(Trace.LEVEL_TRACE, Trace.INFO_MBEANSERVER, clz, func, info);
    
private static final voidtrace(java.lang.String func, java.lang.String info)

        trace(dbgTag, func, info);