package org.oddjob.jmx.client; import javax.management.ObjectName; import org.apache.log4j.Logger; import org.oddjob.arooa.ArooaSession; import org.oddjob.jmx.ObjectNames; /** * A facility shared by all client side handlers. * * @author rob * */ public interface ClientSession extends ObjectNames { /** * Create or find a previously created proxy for * the JMX object name. * * @param objectName The JMX object name. * * @return The proxy. Never null. */ public Object create(ObjectName objectName); /** * Destroy a client side proxy. Allows handlers to * free resources. * * @param proxy */ public void destroy(Object proxy); /** * Get the {@link ArooaSession} the client was * created with. * * @return */ public ArooaSession getArooaSession(); /** * The Client JOb Logger, visible in explorer. * * @return */ public Logger logger(); /** * Destroy all proxies on the client side. */ public void destroyAll(); }