package org.jsondoc.core.scanner.builder; import java.lang.reflect.Method; import org.jsondoc.core.annotation.ApiResponseObject; import org.jsondoc.core.pojo.ApiResponseObjectDoc; import org.jsondoc.core.util.JSONDocDefaultType; import org.jsondoc.core.util.JSONDocType; import org.jsondoc.core.util.JSONDocTypeBuilder; public class JSONDocApiResponseDocBuilder { public static ApiResponseObjectDoc build(Method method) { if(method.isAnnotationPresent(ApiResponseObject.class)) { ApiResponseObject annotation = method.getAnnotation(ApiResponseObject.class); if(annotation.clazz().isAssignableFrom(JSONDocDefaultType.class)) { return new ApiResponseObjectDoc(JSONDocTypeBuilder.build(new JSONDocType(), method.getReturnType(), method.getGenericReturnType())); } else { return new ApiResponseObjectDoc(JSONDocTypeBuilder.build(new JSONDocType(), annotation.clazz(), annotation.clazz())); } } return null; } }