io.swagger.jaxrs.ext.SwaggerExtension Maven / Gradle / Ivy
package io.swagger.jaxrs.ext;
import io.swagger.annotations.ApiOperation;
import io.swagger.models.Operation;
import io.swagger.models.parameters.Parameter;
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
import java.lang.reflect.Type;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
public interface SwaggerExtension {
String extractOperationMethod(ApiOperation apiOperation, Method method, Iterator chain);
List extractParameters(List annotations, Type type, Set typesToSkip, Iterator chain);
/**
* Decorates operation with additional vendor based extensions.
*
* @param operation the operation, build from swagger definition
* @param method the method for additional scan
* @param chain the chain with swagger extensions to process
*/
void decorateOperation(Operation operation, Method method, Iterator chain);
}