/* * (c) Rob Gordon 2005 */ package org.oddjob.jmx.client; /** * Implementations are able to create a handler for the client * side of method invocations. * * @author Rob Gordon. * * @param <T> The Type of the interface this will creating a handler for. * */ public interface ClientInterfaceHandlerFactory<T> { /** * The version of this handler. * * @return */ public HandlerVersion getVersion(); /** * Provide the interface class this is the information * about. * * @return The class. */ public Class<T> interfaceClass(); /** * Create a thing that handles communication * with the server for an Interface.. * * @param proxy The client side proxy the invocations are coming from. Most of the * time this will be ignored but it's useful as the source for events. * * @param clientToolkit Tools to help the handler do it's job. * * @return An Handler object. Never null. */ public T createClientHandler(T proxy, ClientSideToolkit toolkit); }