protected void processByParameterType(Type parameterType, int paramIdx) { ParameterTypeProcessor processor = context.findParameterTypeProcessor(parameterType); if (processor == null) { //maybe is ArrayList ... Type realType = checkAndGetType(parameterType); if (realType != null) { processor = context.findParameterTypeProcessor(realType); } } if (processor != null) { processor.process(this, paramIdx); } }
public static SwaggerGenerator generateSwagger(ClassLoader classLoader, Class<?> cls) { SwaggerGeneratorContext context = compositeContext.selectContext(cls); SwaggerGenerator generator = new SwaggerGenerator(context, cls); generator.setClassLoader(classLoader); generator.generate(); return generator; }
public AbstractSwaggerGeneratorContext() { initClassAnnotationMgr(); initMethodAnnotationMgr(); initParameterAnnotationMgr(); initParameterTypeProcessorMgr(); initDefaultParameterProcessor(); initResponseTypeProcessorMgr(); }
@Override public void process(Object annotation, OperationGenerator operationGenerator) { ApiImplicitParams apiImplicitParamsAnnotation = (ApiImplicitParams) annotation; MethodAnnotationProcessor processor = operationGenerator.getContext().findMethodAnnotationProcessor(ApiImplicitParam.class); for (ApiImplicitParam paramAnnotation : apiImplicitParamsAnnotation.value()) { processor.process(paramAnnotation, operationGenerator); } } }
public Swagger generate() { for (Annotation annotation : cls.getAnnotations()) { ClassAnnotationProcessor processor = context.findClassAnnotationProcessor(annotation.annotationType()); if (processor == null) { continue; } processor.process(annotation, this); } scanMethods(); addOperationsToSwagger(); correctSwagger(); return swagger; }
protected void correctHttpMethod(OperationGenerator operationGenerator) { if (StringUtils.isEmpty(operationGenerator.getHttpMethod())) { operationGenerator.setHttpMethod(HttpMethod.POST); } }
@Override public void process(OperationGenerator operationGenerator, int paramIndex) { PendingBodyParameter pendingBodyParameter = PojoParamUtils.createPendingBodyParameter(operationGenerator, paramIndex); operationGenerator.addProviderParameter(pendingBodyParameter); } }
@Override public void process(Object annotation, SwaggerGenerator swaggerGenerator) { ApiResponses apiResponses = (ApiResponses) annotation; ClassAnnotationProcessor processor = swaggerGenerator.getContext().findClassAnnotationProcessor(ApiResponse.class); for (ApiResponse apiResponse : apiResponses.value()) { processor.process(apiResponse, swaggerGenerator); } } }
protected void scanMethodAnnotation() { for (Annotation annotation : providerMethod.getAnnotations()) { MethodAnnotationProcessor processor = context.findMethodAnnotationProcessor(annotation.annotationType()); if (processor == null) { continue; } processor.process(annotation, this); } setDefaultTag(); }
protected Property createResponseProperty() { Type responseType = providerMethod.getReturnType(); if (ReflectionUtils.isVoid(responseType)) { return null; } ResponseTypeProcessor processor = context.findResponseTypeProcessor(responseType); return processor.process(this); }
public MethodAnnotationProcessor findMethodAnnotationProcessor(Class<? extends Annotation> annotationType) { return methodAnnotationMgr.findProcessor(annotationType); }
public T findProcessor(String annotationName) { return this.findValue(annotationName); } }
public void setPath(String path) { path = context.resolveStringValue(path); if (!path.startsWith("/")) { path = "/" + path; } this.path = path; }
protected SwaggerGenerator generateSwagger(CONTEXT context) { SwaggerGeneratorContext generatorContext = compositeSwaggerGeneratorContext.selectContext(context.getProviderClass()); SwaggerGenerator generator = new SwaggerGenerator(generatorContext, context.getProviderClass()); generator.setClassLoader(context.getMicroserviceMeta().getClassLoader()); generator.setPackageName( SchemaUtils.generatePackageName(context.getMicroserviceMeta(), context.getSchemaId())); generator.generate(); return generator; } }
@Override public void process(Object annotation, OperationGenerator operationGenerator) { ApiResponses apiResponses = (ApiResponses) annotation; MethodAnnotationProcessor processor = operationGenerator.getContext().findMethodAnnotationProcessor(ApiResponse.class); for (ApiResponse apiResponse : apiResponses.value()) { processor.process(apiResponse, operationGenerator); } } }
@Override public void process(OperationGenerator operationGenerator, int paramIdx) { InvocationContextParameter parameter = new InvocationContextParameter(); operationGenerator.addProviderParameter(parameter); } }
@Override public void process(Object annotation, SwaggerGenerator swaggerGenerator) { ApiImplicitParams apiImplicitParamsAnnotation = (ApiImplicitParams) annotation; ClassAnnotationProcessor processor = swaggerGenerator.getContext().findClassAnnotationProcessor(ApiImplicitParam.class); for (ApiImplicitParam paramAnnotation : apiImplicitParamsAnnotation.value()) { processor.process(paramAnnotation, swaggerGenerator); } } }
public ParameterAnnotationProcessor findParameterAnnotationProcessor(Class<? extends Annotation> annotationType) { return parameterAnnotationMgr.findProcessor(annotationType); }
@Override public void process(Object annotation, OperationGenerator operationGenerator) { ResponseHeaders responseHeaders = (ResponseHeaders) annotation; MethodAnnotationProcessor processor = operationGenerator.getContext().findMethodAnnotationProcessor(ResponseHeader.class); for (ResponseHeader responseHeader : responseHeaders.value()) { processor.process(responseHeader, operationGenerator); } } }
public ClassAnnotationProcessor findClassAnnotationProcessor(Class<? extends Annotation> annotationType) { return classAnnotationMgr.findProcessor(annotationType); }