package xapi.dev.gwtc.api; import xapi.dev.source.MethodBuffer; import xapi.dev.source.SourceBuilder; import xapi.dev.source.SourceBuilder.JavaType; import xapi.fu.Out1; import xapi.gwtc.api.GwtManifest; import com.google.gwt.core.client.RunAsyncCallback; import com.google.gwt.junit.client.GWTTestCase; import com.google.gwt.junit.tools.GWTTestSuite; import java.io.File; import java.lang.reflect.Method; public interface GwtcService { void addMethod(Method method); void addMethod(Method method, boolean onNewInstance); void addClass(Class<?> clazz); void addPackage(Package pkg, boolean recursive); void addGwtTestCase(Class<? extends GWTTestCase> subclass); void addGwtTestSuite(Class<? extends GWTTestSuite> asSubclass); boolean addJUnitClass(Class<?> clazz); void addAsyncBlock(Class<? extends RunAsyncCallback> asSubclass); void addGwtModules(Class<?> clazz); void addClasspath(Class<?> cls); MethodBuffer addMethodToEntryPoint(String methodDef); void addGwtInherit(String inherit); int compile(GwtManifest manifest); String getModuleName(); SourceBuilder createJavaFile(String pkg, String filename, JavaType type); void createFile(String pkg, String filename, Out1<String> sourceProvider); File getTempDir(); String inGeneratedDirectory(GwtManifest manifest, String filename); String modifyPackage(String pkgToUse); MethodBuffer getOnModuleLoad(); }