package com.tinkerpop.frames.modules.javahandler;

import java.lang.reflect.Method;

import com.tinkerpop.blueprints.Direction;
import com.tinkerpop.blueprints.Element;
import com.tinkerpop.frames.FramedGraph;

/**
 * {@link JavaHandlerModule} uses this interface to create the concrete classes that will handle the method calls.
 * Typically factories will use method.getDeclaringClass() to obtain the concrete class that is being called.
 * @author Bryn Cooke
 */
public interface JavaHandlerFactory {
	/**
	 * @param graph The graph of the framed element
	 * @param element The element being handled
	 * @param method The method called
	 * @param direction The drection of the edge if applicable
	 * @return An object that contains the method being called. 
	 * @throws IllegalAccessException 
	 * @throws InstantiationException 
	 */
	public <T> T create(Class<T> handlerClass) throws InstantiationException, IllegalAccessException;
}

@@ -48,167 +48,8 @@
 r;%0A%0A
-import java.lang.reflect.Method;%0A%0Aimport com.tinkerpop.blueprints.Direction;%0Aimport com.tinkerpop.blueprints.Element;%0Aimport com.tinkerpop.frames.FramedGraph;%0A
 %0A/**
@@ -168,118 +168,8 @@
 ls.%0A
- * Typically factories will use method.getDeclaringClass() to obtain the concrete class that is being called.%0A
  * @
@@ -228,16 +228,18 @@
 ctory %7B%0A
+%09%0A
 %09/**%0A%09 *
@@ -250,320 +250,142 @@
 ram 
-graph The graph of the framed element%0A%09 * @param element The element being handled%0A%09 * @param method The method called%0A%09 * @param directio
+handlerClass The class to create.%0A%09 * @retur
 n The 
-drection of the edge if applicable%0A%09 * @return An object that contains the method being called. %0A%09 * @throws IllegalAccessException %0A%09 * @throws InstantiationException 
+created class.%0A%09 * @throws InstantiationException%0A%09 * @throws IllegalAccessException
 %0A%09 *

Update javadoc for JavaHandlerFactory. https://github.com/tinkerpop/frames/issues/66