package org.jsondoc.core.scanner.builder; import java.lang.reflect.Method; import java.util.LinkedHashSet; import java.util.Set; import org.jsondoc.core.annotation.ApiHeader; import org.jsondoc.core.annotation.ApiHeaders; import org.jsondoc.core.pojo.ApiHeaderDoc; public class JSONDocApiHeaderDocBuilder { public static Set<ApiHeaderDoc> build(Method method) { Set<ApiHeaderDoc> docs = new LinkedHashSet<ApiHeaderDoc>(); ApiHeaders methodAnnotation = method.getAnnotation(ApiHeaders.class); ApiHeaders typeAnnotation = method.getDeclaringClass().getAnnotation(ApiHeaders.class); if(typeAnnotation != null) { for (ApiHeader apiHeader : typeAnnotation.headers()) { docs.add(new ApiHeaderDoc(apiHeader.name(), apiHeader.description(), apiHeader.allowedvalues())); } } if (methodAnnotation != null) { for (ApiHeader apiHeader : methodAnnotation.headers()) { docs.add(new ApiHeaderDoc(apiHeader.name(), apiHeader.description(), apiHeader.allowedvalues())); } } return docs; } }