public class MvcEndpointApiCtClassBuilder extends Object implements org.apache.commons.lang3.builder.Builder<javassist.CtClass>
| 限定符和类型 | 字段和说明 |
|---|---|
protected javassist.bytecode.ClassFile |
classFile |
protected javassist.CtClass |
declaring |
protected javassist.ClassPool |
pool |
| 构造器和说明 |
|---|
MvcEndpointApiCtClassBuilder(javassist.ClassPool pool,
String classname) |
MvcEndpointApiCtClassBuilder(String classname) |
| 限定符和类型 | 方法和说明 |
|---|---|
MvcEndpointApiCtClassBuilder |
api(String... tags)
添加类注解 @Api
|
MvcEndpointApiCtClassBuilder |
apiIgnore()
添加类注解 @ApiIgnore
|
<T> MvcEndpointApiCtClassBuilder |
autowired(Class<T> type,
String name,
boolean required)
添加字段注解 @Autowired 实现对象注入
|
<T> MvcEndpointApiCtClassBuilder |
autowired(Class<T> type,
String name,
boolean required,
String qualifier)
添加字段注解 @Autowired @Qualifier 实现对象注入
|
MvcEndpointApiCtClassBuilder |
autowiredHandler(boolean required,
String qualifier)
添加字段注解 @Autowired 实现对象注入
|
MvcEndpointApiCtClassBuilder |
bind(MvcBound bound)
通过给动态类增加
@WebBound注解实现,数据的绑定 |
MvcEndpointApiCtClassBuilder |
bind(String uid,
String json)
通过给动态类增加
@WebBound注解实现,数据的绑定 |
javassist.CtClass |
build() |
MvcEndpointApiCtClassBuilder |
controller()
添加类注解 @Controller
|
MvcEndpointApiCtClassBuilder |
controller(String name)
添加类注解 @Controller
|
MvcEndpointApiCtClassBuilder |
makeField(String src)
Compiles the given source code and creates a field.
|
MvcEndpointApiCtClassBuilder |
makeMethod(String src)
Compiles the given source code and creates a method.
|
<T> MvcEndpointApiCtClassBuilder |
newField(Class<T> fieldClass,
String fieldName,
String fieldValue) |
<T> MvcEndpointApiCtClassBuilder |
newMethod(Class<T> rtClass,
MvcMethod method,
MvcBound bound,
MvcParam<?>... params)
根据参数构造一个新的方法
|
MvcEndpointApiCtClassBuilder |
newMethod(String methodName,
String path,
org.springframework.web.bind.annotation.RequestMethod method,
String contentType,
MvcBound bound,
MvcParam<?>... params) |
MvcEndpointApiCtClassBuilder |
removeField(String fieldName) |
<T> MvcEndpointApiCtClassBuilder |
removeMethod(String methodName,
MvcParam<?>... params) |
MvcEndpointApiCtClassBuilder |
requestMapping(MvcMapping mapping)
添加类注解 @RequestMapping
|
MvcEndpointApiCtClassBuilder |
requestMapping(String path)
添加类注解 @RequestMapping
|
MvcEndpointApiCtClassBuilder |
requestMapping(String name,
String[] path,
org.springframework.web.bind.annotation.RequestMethod[] method,
String[] params,
String[] headers,
String[] consumes,
String[] produces)
添加类注解 @RequestMapping
|
MvcEndpointApiCtClassBuilder |
restController()
添加类注解 @RestController
|
MvcEndpointApiCtClassBuilder |
restController(String name)
添加类注解 @RestController
|
Class<?> |
toClass()
javassist在加载类时会用Hashtable将类信息缓存到内存中,这样随着类的加载,内存会越来越大,甚至导致内存溢出。
|
Object |
toInstance(InvocationHandler handler) |
protected javassist.ClassPool pool
protected javassist.CtClass declaring
protected javassist.bytecode.ClassFile classFile
public MvcEndpointApiCtClassBuilder(String classname) throws javassist.CannotCompileException, javassist.NotFoundException
javassist.CannotCompileExceptionjavassist.NotFoundExceptionpublic MvcEndpointApiCtClassBuilder(javassist.ClassPool pool,
String classname)
throws javassist.CannotCompileException,
javassist.NotFoundException
javassist.CannotCompileExceptionjavassist.NotFoundExceptionpublic MvcEndpointApiCtClassBuilder api(String... tags)
tags - 标签名称MvcEndpointApiCtClassBuilder instancepublic MvcEndpointApiCtClassBuilder apiIgnore()
MvcEndpointApiCtClassBuilder instancepublic MvcEndpointApiCtClassBuilder controller()
MvcEndpointApiCtClassBuilder instancepublic MvcEndpointApiCtClassBuilder controller(String name)
name - Controller名称:必须唯一MvcEndpointApiCtClassBuilder instancepublic MvcEndpointApiCtClassBuilder restController()
MvcEndpointApiCtClassBuilder instancepublic MvcEndpointApiCtClassBuilder restController(String name)
name - Controller名称:必须唯一MvcEndpointApiCtClassBuilder instancepublic MvcEndpointApiCtClassBuilder requestMapping(MvcMapping mapping)
mapping - : The MvcMapping instanceMvcEndpointApiCtClassBuilder instancepublic MvcEndpointApiCtClassBuilder requestMapping(String path)
path - : The path attribute values of @RequestMappingMvcEndpointApiCtClassBuilder instancepublic MvcEndpointApiCtClassBuilder requestMapping(String name, String[] path, org.springframework.web.bind.annotation.RequestMethod[] method, String[] params, String[] headers, String[] consumes, String[] produces)
name - : The name attribute value of @RequestMappingpath - : The path attribute values of @RequestMappingmethod - : The method attribute values of @RequestMappingparams - : The params attribute values of @RequestMappingheaders - : The headers attribute values of @RequestMappingconsumes - : The consumes attribute values of @RequestMappingproduces - : The produces attribute values of @RequestMappingMvcEndpointApiCtClassBuilder instancepublic <T> MvcEndpointApiCtClassBuilder autowired(Class<T> type, String name, boolean required) throws javassist.CannotCompileException, javassist.NotFoundException
T - : 参数泛型type - : The type attribute value of @Autowiredname - : The name attribute value of @Autowiredrequired - : Declares whether the annotated dependency is required.MvcEndpointApiCtClassBuilder instancejavassist.CannotCompileException - if can't compilejavassist.NotFoundException - if not foundpublic MvcEndpointApiCtClassBuilder autowiredHandler(boolean required, String qualifier) throws javassist.CannotCompileException, javassist.NotFoundException
required - : Declares whether the annotated dependency is required.qualifier - : The qualifier attribute value of @AutowiredMvcEndpointApiCtClassBuilder instancejavassist.CannotCompileException - if can't compilejavassist.NotFoundException - if not foundpublic <T> MvcEndpointApiCtClassBuilder autowired(Class<T> type, String name, boolean required, String qualifier) throws javassist.CannotCompileException, javassist.NotFoundException
T - : 参数泛型type - : The type attribute value of @Autowiredname - : The name attribute value of @Autowiredrequired - : Declares whether the annotated dependency is required.qualifier - : The qualifier attribute value of @AutowiredMvcEndpointApiCtClassBuilder instancejavassist.CannotCompileException - if can't compilejavassist.NotFoundException - if not foundpublic MvcEndpointApiCtClassBuilder bind(String uid, String json)
@WebBound注解实现,数据的绑定uid - : The value of uidjson - : The value of jsonMvcEndpointApiCtClassBuilder instancepublic MvcEndpointApiCtClassBuilder bind(MvcBound bound)
@WebBound注解实现,数据的绑定bound - : The MvcBound instanceMvcEndpointApiCtClassBuilder instancepublic MvcEndpointApiCtClassBuilder makeField(String src) throws javassist.CannotCompileException
"public String name;" "public int k = 3;"
Note that the source code ends with ';'
(semicolon).
src - the source text.MvcEndpointApiCtClassBuilder instancejavassist.CannotCompileException - if can't compilepublic <T> MvcEndpointApiCtClassBuilder newField(Class<T> fieldClass, String fieldName, String fieldValue) throws javassist.CannotCompileException, javassist.NotFoundException
javassist.CannotCompileExceptionjavassist.NotFoundExceptionpublic MvcEndpointApiCtClassBuilder removeField(String fieldName) throws javassist.NotFoundException
javassist.NotFoundExceptionpublic MvcEndpointApiCtClassBuilder makeMethod(String src) throws javassist.CannotCompileException
"public Object id(Object obj) { return obj; }"src - the source text.MvcEndpointApiCtClassBuilder instancejavassist.CannotCompileException - if can't compilepublic MvcEndpointApiCtClassBuilder newMethod(String methodName, String path, org.springframework.web.bind.annotation.RequestMethod method, String contentType, MvcBound bound, MvcParam<?>... params) throws javassist.CannotCompileException, javassist.NotFoundException
methodName - : 方法名称path - : 发布地址method - : 请求方式(GET/POST)contentType - : 响应类型及编码bound - :数据绑定对象params - :参数信息MvcEndpointApiCtClassBuilder instancejavassist.CannotCompileException - if can't compilejavassist.NotFoundException - if not foundpublic <T> MvcEndpointApiCtClassBuilder newMethod(Class<T> rtClass, MvcMethod method, MvcBound bound, MvcParam<?>... params) throws javassist.CannotCompileException, javassist.NotFoundException
T - : 参数泛型rtClass - :返回对象类型method - :方法注释信息bound - :方法绑定数据信息params - : 参数信息MvcEndpointApiCtClassBuilder instancejavassist.CannotCompileException - if can't compilejavassist.NotFoundException - if not foundpublic <T> MvcEndpointApiCtClassBuilder removeMethod(String methodName, MvcParam<?>... params) throws javassist.NotFoundException
javassist.NotFoundExceptionpublic javassist.CtClass build()
build 在接口中 org.apache.commons.lang3.builder.Builder<javassist.CtClass>public Class<?> toClass() throws javassist.CannotCompileException
javassist.CannotCompileException - if can't compilepublic Object toInstance(InvocationHandler handler) throws javassist.CannotCompileException, javassist.NotFoundException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException
javassist.CannotCompileExceptionjavassist.NotFoundExceptionInstantiationExceptionIllegalAccessExceptionIllegalArgumentExceptionInvocationTargetExceptionNoSuchMethodExceptionSecurityExceptionCopyright © 2018. All rights reserved.