- java.lang.Object
-
- net.oneandone.neberus.parse.MethodParser
-
public abstract class MethodParser extends java.lang.ObjectParses all stuff related to a single REST method.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringDESCRIPTIONstatic java.lang.StringDETAILprotected Optionsoptionsstatic java.lang.StringTITLEstatic java.lang.StringTYPEstatic java.lang.StringVALUEstatic java.lang.StringVALUE_HINT
-
Constructor Summary
Constructors Constructor Description MethodParser(Options options)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected voidaddCommonResponseData(javax.lang.model.element.AnnotationMirror response, java.util.List<javax.lang.model.element.AnnotationValue> produces, RestMethodData.ResponseData responseData)protected voidaddCurl(javax.lang.model.element.ExecutableElement methodDoc, RestMethodData data)protected voidaddCustomParameter(javax.lang.model.element.AnnotationMirror parameterDesc, RestMethodData data)protected voidaddCustomParameters(javax.lang.model.element.ExecutableElement method, RestMethodData data)protected voidaddCustomRequestEntities(javax.lang.model.element.ExecutableElement method, RestMethodData data)protected voidaddDeprecated(javax.lang.model.element.ExecutableElement method, RestMethodData data)protected voidaddDescription(javax.lang.model.element.ExecutableElement method, RestMethodData data)protected voidaddLabel(javax.lang.model.element.ExecutableElement method, RestMethodData data)protected voidaddMediaType(javax.lang.model.element.ExecutableElement method, RestMethodData data)protected voidaddMethodData(javax.lang.model.element.ExecutableElement method, RestMethodData data)protected voidaddNestedArray(javax.lang.model.type.TypeMirror type, java.util.List<RestMethodData.ParameterInfo> parentList)protected voidaddNestedMap(javax.lang.model.type.TypeMirror type, java.util.List<RestMethodData.ParameterInfo> parentList)protected voidaddNestedParameters(javax.lang.model.type.TypeMirror type, java.util.List<RestMethodData.ParameterInfo> parentList, java.util.List<javax.lang.model.type.TypeMirror> parentTypes)protected voidaddParameterInfo(java.util.List<RestMethodData.ParameterInfo> parameters, RestMethodData.ParameterInfo parameterInfo)protected voidaddParameters(javax.lang.model.element.ExecutableElement method, RestMethodData data)protected voidaddPath(javax.lang.model.element.ExecutableElement method, RestMethodData data)protected voidaddRequestData(javax.lang.model.element.ExecutableElement method, RestMethodData data)protected voidaddResponse(javax.lang.model.element.AnnotationMirror response, RestMethodData data, java.util.List<javax.lang.model.element.AnnotationValue> produces)protected voidaddResponseData(javax.lang.model.element.ExecutableElement method, RestMethodData data)protected voidaddResponsesFromAnnotations(javax.lang.model.element.ExecutableElement method, RestMethodData data)protected java.util.Optional<java.util.List<RestMethodData.AllowedValue>>getAllowedValuesFromLinkTag(javax.lang.model.element.Element e, java.util.List<? extends com.sun.source.doctree.DocTree> tags)protected java.util.Optional<java.util.List<RestMethodData.AllowedValue>>getAllowedValuesFromSeeTag(javax.lang.model.element.Element e, java.util.List<? extends com.sun.source.doctree.DocTree> tags)protected java.util.List<RestMethodData.AllowedValue>getAllowedValuesFromType(javax.lang.model.type.TypeMirror type)protected java.util.Optional<java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>>>getConstraintsFromLinkTag(javax.lang.model.element.Element e, java.util.List<? extends com.sun.source.doctree.DocTree> tags)protected java.util.Optional<java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>>>getConstraintsFromSeeTag(javax.lang.model.element.Element e, java.util.List<? extends com.sun.source.doctree.DocTree> tags)protected abstract java.util.List<javax.lang.model.element.AnnotationValue>getConsumes(javax.lang.model.element.ExecutableElement method)protected abstract java.lang.StringgetFormParam(javax.lang.model.element.ExecutableElement method, javax.lang.model.element.VariableElement parameter, int index)protected abstract java.lang.StringgetHeaderParam(javax.lang.model.element.ExecutableElement method, javax.lang.model.element.VariableElement parameter, int index)protected abstract java.lang.StringgetPath(javax.lang.model.element.ExecutableElement methodDoc)protected abstract java.lang.StringgetPathParam(javax.lang.model.element.ExecutableElement method, javax.lang.model.element.VariableElement parameter, int index)protected abstract java.util.List<javax.lang.model.element.AnnotationValue>getProduces(javax.lang.model.element.ExecutableElement method)protected abstract java.lang.StringgetQueryParam(javax.lang.model.element.ExecutableElement method, javax.lang.model.element.VariableElement parameter, int index)protected RequiredStatusgetRequiredStatus(javax.lang.model.element.ExecutableElement method, javax.lang.model.element.VariableElement parameter, int index)protected javax.lang.model.type.TypeMirrorgetResponseEntityClass(javax.lang.model.element.ExecutableElement method, javax.lang.model.element.AnnotationMirror response)protected abstract java.lang.StringgetRootPath(javax.lang.model.element.TypeElement classDoc)protected RestMethodData.ParameterInfoparseCustomParameterInfo(javax.lang.model.element.AnnotationMirror parameterDesc)RestMethodDataparseMethod(javax.lang.model.element.ExecutableElement method, java.lang.String httpMethod)protected RestMethodData.ParameterInfoparseParameter(javax.lang.model.element.ExecutableElement method, javax.lang.model.element.VariableElement parameter, java.util.Map<java.lang.String,com.sun.source.doctree.ParamTree> paramTags, int index)protected booleanskipParameter(javax.lang.model.element.ExecutableElement methodDoc, javax.lang.model.element.VariableElement parameter, int index)
-
-
-
Field Detail
-
options
protected final Options options
-
VALUE
public static final java.lang.String VALUE
- See Also:
- Constant Field Values
-
VALUE_HINT
public static final java.lang.String VALUE_HINT
- See Also:
- Constant Field Values
-
DETAIL
public static final java.lang.String DETAIL
- See Also:
- Constant Field Values
-
TYPE
public static final java.lang.String TYPE
- See Also:
- Constant Field Values
-
TITLE
public static final java.lang.String TITLE
- See Also:
- Constant Field Values
-
DESCRIPTION
public static final java.lang.String DESCRIPTION
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
MethodParser
public MethodParser(Options options)
-
-
Method Detail
-
parseMethod
public RestMethodData parseMethod(javax.lang.model.element.ExecutableElement method, java.lang.String httpMethod)
-
addRequestData
protected void addRequestData(javax.lang.model.element.ExecutableElement method, RestMethodData data)
-
skipParameter
protected boolean skipParameter(javax.lang.model.element.ExecutableElement methodDoc, javax.lang.model.element.VariableElement parameter, int index)
-
addParameters
protected void addParameters(javax.lang.model.element.ExecutableElement method, RestMethodData data)
-
addCustomRequestEntities
protected void addCustomRequestEntities(javax.lang.model.element.ExecutableElement method, RestMethodData data)
-
getPathParam
protected abstract java.lang.String getPathParam(javax.lang.model.element.ExecutableElement method, javax.lang.model.element.VariableElement parameter, int index)
-
getQueryParam
protected abstract java.lang.String getQueryParam(javax.lang.model.element.ExecutableElement method, javax.lang.model.element.VariableElement parameter, int index)
-
getHeaderParam
protected abstract java.lang.String getHeaderParam(javax.lang.model.element.ExecutableElement method, javax.lang.model.element.VariableElement parameter, int index)
-
getFormParam
protected abstract java.lang.String getFormParam(javax.lang.model.element.ExecutableElement method, javax.lang.model.element.VariableElement parameter, int index)
-
parseParameter
protected RestMethodData.ParameterInfo parseParameter(javax.lang.model.element.ExecutableElement method, javax.lang.model.element.VariableElement parameter, java.util.Map<java.lang.String,com.sun.source.doctree.ParamTree> paramTags, int index)
-
getRequiredStatus
protected RequiredStatus getRequiredStatus(javax.lang.model.element.ExecutableElement method, javax.lang.model.element.VariableElement parameter, int index)
-
addNestedMap
protected void addNestedMap(javax.lang.model.type.TypeMirror type, java.util.List<RestMethodData.ParameterInfo> parentList)
-
addNestedArray
protected void addNestedArray(javax.lang.model.type.TypeMirror type, java.util.List<RestMethodData.ParameterInfo> parentList)
-
addNestedParameters
protected void addNestedParameters(javax.lang.model.type.TypeMirror type, java.util.List<RestMethodData.ParameterInfo> parentList, java.util.List<javax.lang.model.type.TypeMirror> parentTypes)
-
getAllowedValuesFromType
protected java.util.List<RestMethodData.AllowedValue> getAllowedValuesFromType(javax.lang.model.type.TypeMirror type)
-
getAllowedValuesFromLinkTag
protected java.util.Optional<java.util.List<RestMethodData.AllowedValue>> getAllowedValuesFromLinkTag(javax.lang.model.element.Element e, java.util.List<? extends com.sun.source.doctree.DocTree> tags)
-
getAllowedValuesFromSeeTag
protected java.util.Optional<java.util.List<RestMethodData.AllowedValue>> getAllowedValuesFromSeeTag(javax.lang.model.element.Element e, java.util.List<? extends com.sun.source.doctree.DocTree> tags)
-
getConstraintsFromLinkTag
protected java.util.Optional<java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>>> getConstraintsFromLinkTag(javax.lang.model.element.Element e, java.util.List<? extends com.sun.source.doctree.DocTree> tags)
-
getConstraintsFromSeeTag
protected java.util.Optional<java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>>> getConstraintsFromSeeTag(javax.lang.model.element.Element e, java.util.List<? extends com.sun.source.doctree.DocTree> tags)
-
addCustomParameters
protected void addCustomParameters(javax.lang.model.element.ExecutableElement method, RestMethodData data)
-
addCustomParameter
protected void addCustomParameter(javax.lang.model.element.AnnotationMirror parameterDesc, RestMethodData data)
-
addParameterInfo
protected void addParameterInfo(java.util.List<RestMethodData.ParameterInfo> parameters, RestMethodData.ParameterInfo parameterInfo)
-
parseCustomParameterInfo
protected RestMethodData.ParameterInfo parseCustomParameterInfo(javax.lang.model.element.AnnotationMirror parameterDesc)
-
addMethodData
protected void addMethodData(javax.lang.model.element.ExecutableElement method, RestMethodData data)
-
getRootPath
protected abstract java.lang.String getRootPath(javax.lang.model.element.TypeElement classDoc)
-
getPath
protected abstract java.lang.String getPath(javax.lang.model.element.ExecutableElement methodDoc)
-
addPath
protected void addPath(javax.lang.model.element.ExecutableElement method, RestMethodData data)
-
addDescription
protected void addDescription(javax.lang.model.element.ExecutableElement method, RestMethodData data)
-
addCurl
protected void addCurl(javax.lang.model.element.ExecutableElement methodDoc, RestMethodData data)
-
addLabel
protected void addLabel(javax.lang.model.element.ExecutableElement method, RestMethodData data)
-
addDeprecated
protected void addDeprecated(javax.lang.model.element.ExecutableElement method, RestMethodData data)
-
getConsumes
protected abstract java.util.List<javax.lang.model.element.AnnotationValue> getConsumes(javax.lang.model.element.ExecutableElement method)
-
getProduces
protected abstract java.util.List<javax.lang.model.element.AnnotationValue> getProduces(javax.lang.model.element.ExecutableElement method)
-
addMediaType
protected void addMediaType(javax.lang.model.element.ExecutableElement method, RestMethodData data)
-
addResponseData
protected void addResponseData(javax.lang.model.element.ExecutableElement method, RestMethodData data)
-
addResponsesFromAnnotations
protected void addResponsesFromAnnotations(javax.lang.model.element.ExecutableElement method, RestMethodData data)
-
addResponse
protected void addResponse(javax.lang.model.element.AnnotationMirror response, RestMethodData data, java.util.List<javax.lang.model.element.AnnotationValue> produces)
-
getResponseEntityClass
protected javax.lang.model.type.TypeMirror getResponseEntityClass(javax.lang.model.element.ExecutableElement method, javax.lang.model.element.AnnotationMirror response)
-
addCommonResponseData
protected void addCommonResponseData(javax.lang.model.element.AnnotationMirror response, java.util.List<javax.lang.model.element.AnnotationValue> produces, RestMethodData.ResponseData responseData)
-
-