Main Page | Packages | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

org.objectweb.cjdbc.controller.jmx.ChainedMBeanServerBuilder Class Reference

Inheritance diagram for org.objectweb.cjdbc.controller.jmx.ChainedMBeanServerBuilder:

Inheritance graph
[legend]
Collaboration diagram for org.objectweb.cjdbc.controller.jmx.ChainedMBeanServerBuilder:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ChainedMBeanServerBuilder (MBeanServerBuilder builder)
MBeanServerDelegate newMBeanServerDelegate ()
MBeanServer newMBeanServer (String defaultDomain, MBeanServer outer, MBeanServerDelegate delegate)

Protected Member Functions

MBeanServerBuilder getMBeanServerBuilder ()

Detailed Description

Base class for chained MBeanServerBuilders.
By default this class delegates all method calls to the nested MBeanServerBuilder.
See the MX4J documentation on how to use correctly this class.

Example implementation:

    public class LoggingBuilder extends ChainedMBeanServerBuilder
    {
       public LoggingBuilder()
       {
          super(new MBeanServerBuilder());
       }

       public MBeanServer newMBeanServer(String defaultDomain, MBeanServer outer, MBeanServerDelegate delegate)
       {
          LoggingMBeanServer external = new LoggingMBeanServer();
          MBeanServer nested = getBuilder().newMBeanServer(defaultDomain, outer == null ? external : outer, delegate);
          external.setMBeanServer(nested);
          return external;
       }
    }

    public class LoggingMBeanServer extends ChainedMBeanServer
    {
       protected void setMBeanServer(MBeanServer server)
       {
          super.setMBeanServer(server);
       }

       public Object getAttribute(ObjectName objectName, String attribute)
               throws MBeanException, AttributeNotFoundException, InstanceNotFoundException, ReflectionException
       {
          Object value = super.getAttribute(objectName, attribute);
          System.out.println("Value is: " + value);
          return value;
       }

       ...
    }

 

Author:
Marc Wick
Version:
1.0

Definition at line 84 of file ChainedMBeanServerBuilder.java.


Constructor & Destructor Documentation

org.objectweb.cjdbc.controller.jmx.ChainedMBeanServerBuilder.ChainedMBeanServerBuilder MBeanServerBuilder  builder  ) 
 

Creates a new chained MBeanServerBuilder

Parameters:
builder The MBeanServerBuilder this object delegates to.

Definition at line 93 of file ChainedMBeanServerBuilder.java.

00094   {
00095     if (builder == null)
00096       throw new IllegalArgumentException();
00097     this.builder = builder;
00098   }


Member Function Documentation

MBeanServerBuilder org.objectweb.cjdbc.controller.jmx.ChainedMBeanServerBuilder.getMBeanServerBuilder  )  [protected]
 

Returns the chained MBeanServerBuilder this object delegates to.

Definition at line 126 of file ChainedMBeanServerBuilder.java.

Referenced by org.objectweb.cjdbc.controller.jmx.MBeanServerBuilder.newMBeanServer(), org.objectweb.cjdbc.controller.jmx.ChainedMBeanServerBuilder.newMBeanServer(), and org.objectweb.cjdbc.controller.jmx.ChainedMBeanServerBuilder.newMBeanServerDelegate().

00127   {
00128     return builder;
00129   }

MBeanServer org.objectweb.cjdbc.controller.jmx.ChainedMBeanServerBuilder.newMBeanServer String  defaultDomain,
MBeanServer  outer,
MBeanServerDelegate  delegate
 

Forwards the call to the chained builder.

See also:
MBeanServerBuilder.newMBeanServer(java.lang.String, javax.management.MBeanServer, javax.management.MBeanServerDelegate)

Reimplemented in org.objectweb.cjdbc.controller.jmx.MBeanServerBuilder.

Definition at line 116 of file ChainedMBeanServerBuilder.java.

References org.objectweb.cjdbc.controller.jmx.ChainedMBeanServerBuilder.getMBeanServerBuilder(), and org.objectweb.cjdbc.controller.jmx.MBeanServerBuilder.newMBeanServer().

00118   {
00119     return getMBeanServerBuilder().newMBeanServer(defaultDomain, outer,
00120         delegate);
00121   }

MBeanServerDelegate org.objectweb.cjdbc.controller.jmx.ChainedMBeanServerBuilder.newMBeanServerDelegate  ) 
 

Forwards the call to the chained builder.

See also:
MBeanServerBuilder.newMBeanServerDelegate

Definition at line 105 of file ChainedMBeanServerBuilder.java.

References org.objectweb.cjdbc.controller.jmx.ChainedMBeanServerBuilder.getMBeanServerBuilder().

00106   {
00107     return getMBeanServerBuilder().newMBeanServerDelegate();
00108   }


The documentation for this class was generated from the following file:
Generated on Mon Apr 11 22:03:51 2005 for C-JDBC by  doxygen 1.3.9.1