package org.jsondoc.core.scanner.builder; import java.lang.reflect.Method; import org.jsondoc.core.annotation.ApiBodyObject; import org.jsondoc.core.pojo.ApiBodyObjectDoc; import org.jsondoc.core.util.JSONDocType; import org.jsondoc.core.util.JSONDocTypeBuilder; import org.jsondoc.core.util.JSONDocUtils; public class JSONDocApiBodyObjectDocBuilder { public static ApiBodyObjectDoc build(Method method) { if (method.isAnnotationPresent(ApiBodyObject.class)) { ApiBodyObjectDoc apiBodyObjectDoc = new ApiBodyObjectDoc(JSONDocTypeBuilder.build(new JSONDocType(), method.getAnnotation(ApiBodyObject.class).clazz(), method.getAnnotation(ApiBodyObject.class).clazz())); return apiBodyObjectDoc; } Integer index = JSONDocUtils.getIndexOfParameterWithAnnotation(method, ApiBodyObject.class); if (index != -1) { ApiBodyObjectDoc apiBodyObjectDoc = new ApiBodyObjectDoc(JSONDocTypeBuilder.build(new JSONDocType(), method.getParameterTypes()[index], method.getGenericParameterTypes()[index])); return apiBodyObjectDoc; } return null; } }