1 package org.apache.beehive.controls.api.assembly; 2 3 20 21 import java.io.File ; 22 import java.lang.annotation.Annotation ; 23 import java.lang.reflect.Method ; 24 import java.util.Map ; 25 import java.util.Set ; 26 27 import com.sun.mirror.apt.Messager; 28 29 43 public interface ControlAssemblyContext 44 { 45 49 interface Factory 50 { 51 68 ControlAssemblyContext newInstance( Class controlIntfOrExt, 69 Map <String ,String > bindings, 70 Set <String > clients, 71 File moduleRoot, 72 String moduleName, 73 File srcOutputRoot ) 74 throws ControlAssemblyException; 75 } 76 77 81 interface EJBModule 82 { 83 86 File getEjbJarXml(); 87 } 88 89 93 interface WebAppModule 94 { 95 File getWebXml(); 96 } 97 98 103 interface EntAppModule 104 { 105 File getApplicationXml(); 106 } 107 108 112 Class getControlType(); 113 114 119 Class getMostDerivedControlInterface(); 120 121 125 <T extends Annotation > T 126 getControlAnnotation(Class <T> annotationClass); 127 128 132 <T extends Annotation > T 133 getControlMethodAnnotation(Class <T> annotationClass, Method m) 134 throws NoSuchMethodException ; 135 136 139 String getDefaultImplClassName(); 140 141 144 File getSrcOutputDir(); 145 146 149 File getModuleDir(); 150 151 154 String getModuleName(); 155 156 159 Set <String > getClients(); 160 161 165 Messager getMessager(); 166 167 170 boolean hasErrors(); 171 } 172 | Popular Tags |