Class RequestDocumentation
- Author:
 - Andy Wilkinson, Marcel Overdijk
 
- 
Method Summary
Modifier and TypeMethodDescriptionstatic FormParametersSnippetformParameters(List<ParameterDescriptor> descriptors) Returns aSnippetthat will document the form parameters from the API operation's request.static FormParametersSnippetformParameters(Map<String, Object> attributes, List<ParameterDescriptor> descriptors) Returns aSnippetthat will document the form parameters from the API operation's request.static FormParametersSnippetformParameters(Map<String, Object> attributes, ParameterDescriptor... descriptors) Returns aSnippetthat will document the form parameters from the API operation's request.static FormParametersSnippetformParameters(ParameterDescriptor... descriptors) Returns aSnippetthat will document the form parameters from the API operation's request.static ParameterDescriptorparameterWithName(String name) Creates aParameterDescriptorthat describes a request or path parameter with the givenname.static RequestPartDescriptorpartWithName(String name) Creates aRequestPartDescriptorthat describes a request part with the givenname.static PathParametersSnippetpathParameters(List<ParameterDescriptor> descriptors) Returns aSnippetthat will document the path parameters from the API operation's request.static PathParametersSnippetpathParameters(Map<String, Object> attributes, List<ParameterDescriptor> descriptors) Returns aSnippetthat will document the path parameters from the API operation's request.static PathParametersSnippetpathParameters(Map<String, Object> attributes, ParameterDescriptor... descriptors) Returns aSnippetthat will document the path parameters from the API operation's request.static PathParametersSnippetpathParameters(ParameterDescriptor... descriptors) Returns aSnippetthat will document the path parameters from the API operation's request.static QueryParametersSnippetqueryParameters(List<ParameterDescriptor> descriptors) Returns aSnippetthat will document the query parameters from the API operation's request.static QueryParametersSnippetqueryParameters(Map<String, Object> attributes, List<ParameterDescriptor> descriptors) Returns aSnippetthat will document the query parameters from the API operation's request.static QueryParametersSnippetqueryParameters(Map<String, Object> attributes, ParameterDescriptor... descriptors) Returns aSnippetthat will document the query parameters from the API operation's request.static QueryParametersSnippetqueryParameters(ParameterDescriptor... descriptors) Returns aSnippetthat will document the query parameters from the API operation's request.static FormParametersSnippetrelaxedFormParameters(List<ParameterDescriptor> descriptors) Returns aSnippetthat will document the form parameters from the API operation's request.static FormParametersSnippetrelaxedFormParameters(Map<String, Object> attributes, List<ParameterDescriptor> descriptors) Returns aSnippetthat will document the form parameters from the API operation's request.static FormParametersSnippetrelaxedFormParameters(Map<String, Object> attributes, ParameterDescriptor... descriptors) Returns aSnippetthat will document the form parameters from the API operation's request.static FormParametersSnippetrelaxedFormParameters(ParameterDescriptor... descriptors) Returns aSnippetthat will document the form parameters from the API operation's request.static PathParametersSnippetrelaxedPathParameters(List<ParameterDescriptor> descriptors) Returns aSnippetthat will document the path parameters from the API operation's request.static PathParametersSnippetrelaxedPathParameters(Map<String, Object> attributes, List<ParameterDescriptor> descriptors) Returns aSnippetthat will document the path parameters from the API operation's request.static PathParametersSnippetrelaxedPathParameters(Map<String, Object> attributes, ParameterDescriptor... descriptors) Returns aSnippetthat will document the path parameters from the API operation's request.static PathParametersSnippetrelaxedPathParameters(ParameterDescriptor... descriptors) Returns aSnippetthat will document the path parameters from the API operation's request.static QueryParametersSnippetrelaxedQueryParameters(List<ParameterDescriptor> descriptors) Returns aSnippetthat will document the query parameters from the API operation's request.static QueryParametersSnippetrelaxedQueryParameters(Map<String, Object> attributes, List<ParameterDescriptor> descriptors) Returns aSnippetthat will document the query parameters from the API operation's request.static QueryParametersSnippetrelaxedQueryParameters(Map<String, Object> attributes, ParameterDescriptor... descriptors) Returns aSnippetthat will document the query parameters from the API operation's request.static QueryParametersSnippetrelaxedQueryParameters(ParameterDescriptor... descriptors) Returns aSnippetthat will document the query parameters from the API operation's request.static RequestPartsSnippetrelaxedRequestParts(List<RequestPartDescriptor> descriptors) Returns aSnippetthat will document the parts from the API operation's request.static RequestPartsSnippetrelaxedRequestParts(Map<String, Object> attributes, List<RequestPartDescriptor> descriptors) Returns aSnippetthat will document the parts from the API operation's request.static RequestPartsSnippetrelaxedRequestParts(Map<String, Object> attributes, RequestPartDescriptor... descriptors) Returns aSnippetthat will document the parts from the API operation's request.static RequestPartsSnippetrelaxedRequestParts(RequestPartDescriptor... descriptors) Returns aSnippetthat will document the parts from the API operation's request.static RequestPartsSnippetrequestParts(List<RequestPartDescriptor> descriptors) Returns aSnippetthat will document the parts from the API operation's request.static RequestPartsSnippetrequestParts(Map<String, Object> attributes, List<RequestPartDescriptor> descriptors) Returns aSnippetthat will document the parts from the API operation's request.static RequestPartsSnippetrequestParts(Map<String, Object> attributes, RequestPartDescriptor... descriptors) Returns aSnippetthat will document the parts from the API operation's request.static RequestPartsSnippetrequestParts(RequestPartDescriptor... descriptors) Returns aSnippetthat will document the parts from the API operation's request. 
- 
Method Details
- 
parameterWithName
Creates aParameterDescriptorthat describes a request or path parameter with the givenname.- Parameters:
 name- the name of the parameter- Returns:
 - a 
ParameterDescriptorready for further configuration 
 - 
partWithName
Creates aRequestPartDescriptorthat describes a request part with the givenname.- Parameters:
 name- the name of the request part- Returns:
 - a 
RequestPartDescriptorready for further configuration 
 - 
pathParameters
Returns aSnippetthat will document the path parameters from the API operation's request. The parameters will be documented using the givendescriptors.If a parameter is present in the request path, but is not documented by one of the descriptors, a failure will occur when the snippet is invoked. Similarly, if a parameter is documented, is not marked as optional, and is not present in the request path, a failure will also occur.
If you do not want to document a path parameter, a parameter descriptor can be marked as
IgnorableDescriptor.ignored(). This will prevent it from appearing in the generated snippet while avoiding the failure described above.- Parameters:
 descriptors- the descriptions of the parameters in the request's path- Returns:
 - the snippet that will document the parameters
 
 - 
pathParameters
Returns aSnippetthat will document the path parameters from the API operation's request. The parameters will be documented using the givendescriptors.If a parameter is present in the request path, but is not documented by one of the descriptors, a failure will occur when the snippet is invoked. Similarly, if a parameter is documented, is not marked as optional, and is not present in the request path, a failure will also occur.
If you do not want to document a path parameter, a parameter descriptor can be marked as
IgnorableDescriptor.ignored(). This will prevent it from appearing in the generated snippet while avoiding the failure described above.- Parameters:
 descriptors- the descriptions of the parameters in the request's path- Returns:
 - the snippet that will document the parameters
 
 - 
relaxedPathParameters
Returns aSnippetthat will document the path parameters from the API operation's request. The parameters will be documented using the givendescriptors.If a parameter is documented, is not marked as optional, and is not present in the response, a failure will occur. Any undocumented parameters will be ignored.
- Parameters:
 descriptors- the descriptions of the parameters in the request's path- Returns:
 - the snippet that will document the parameters
 
 - 
relaxedPathParameters
Returns aSnippetthat will document the path parameters from the API operation's request. The parameters will be documented using the givendescriptors.If a parameter is documented, is not marked as optional, and is not present in the response, a failure will occur. Any undocumented parameters will be ignored.
- Parameters:
 descriptors- the descriptions of the parameters in the request's path- Returns:
 - the snippet that will document the parameters
 
 - 
pathParameters
public static PathParametersSnippet pathParameters(Map<String, Object> attributes, ParameterDescriptor... descriptors) Returns aSnippetthat will document the path parameters from the API operation's request. The givenattributeswill be available during snippet rendering and the parameters will be documented using the givendescriptors.If a parameter is present in the request path, but is not documented by one of the descriptors, a failure will occur when the snippet is invoked. Similarly, if a parameter is documented, is not marked as optional, and is not present in the request path, a failure will also occur.
If you do not want to document a path parameter, a parameter descriptor can be marked as
IgnorableDescriptor.ignored(). This will prevent it from appearing in the generated snippet while avoiding the failure described above.- Parameters:
 attributes- the attributesdescriptors- the descriptions of the parameters in the request's path- Returns:
 - the snippet that will document the parameters
 
 - 
pathParameters
public static PathParametersSnippet pathParameters(Map<String, Object> attributes, List<ParameterDescriptor> descriptors) Returns aSnippetthat will document the path parameters from the API operation's request. The givenattributeswill be available during snippet rendering and the parameters will be documented using the givendescriptors.If a parameter is present in the request path, but is not documented by one of the descriptors, a failure will occur when the snippet is invoked. Similarly, if a parameter is documented, is not marked as optional, and is not present in the request path, a failure will also occur.
If you do not want to document a path parameter, a parameter descriptor can be marked as
IgnorableDescriptor.ignored(). This will prevent it from appearing in the generated snippet while avoiding the failure described above.- Parameters:
 attributes- the attributesdescriptors- the descriptions of the parameters in the request's path- Returns:
 - the snippet that will document the parameters
 
 - 
relaxedPathParameters
public static PathParametersSnippet relaxedPathParameters(Map<String, Object> attributes, ParameterDescriptor... descriptors) Returns aSnippetthat will document the path parameters from the API operation's request. The givenattributeswill be available during snippet rendering and the parameters will be documented using the givendescriptors.If a parameter is documented, is not marked as optional, and is not present in the response, a failure will occur. Any undocumented parameters will be ignored.
- Parameters:
 attributes- the attributesdescriptors- the descriptions of the parameters in the request's path- Returns:
 - the snippet that will document the parameters
 
 - 
relaxedPathParameters
public static PathParametersSnippet relaxedPathParameters(Map<String, Object> attributes, List<ParameterDescriptor> descriptors) Returns aSnippetthat will document the path parameters from the API operation's request. The givenattributeswill be available during snippet rendering and the parameters will be documented using the givendescriptors.If a parameter is documented, is not marked as optional, and is not present in the response, a failure will occur. Any undocumented parameters will be ignored.
- Parameters:
 attributes- the attributesdescriptors- the descriptions of the parameters in the request's path- Returns:
 - the snippet that will document the parameters
 
 - 
queryParameters
Returns aSnippetthat will document the query parameters from the API operation's request. The query parameters will be documented using the givendescriptors.If a query parameter is present in the request, but is not documented by one of the descriptors, a failure will occur when the snippet is invoked. Similarly, if a query parameter is documented, is not marked as optional, and is not present in the request, a failure will also occur.
If you do not want to document a query parameter, a parameter descriptor can be marked as
IgnorableDescriptor.ignored(). This will prevent it from appearing in the generated snippet while avoiding the failure described above.- Parameters:
 descriptors- the descriptions of the request's query parameters- Returns:
 - the snippet
 - Since:
 - 3.0.0
 
 - 
queryParameters
Returns aSnippetthat will document the query parameters from the API operation's request. The query parameters will be documented using the givendescriptors.If a query parameter is present in the request, but is not documented by one of the descriptors, a failure will occur when the snippet is invoked. Similarly, if a query parameter is documented, is not marked as optional, and is not present in the request, a failure will also occur.
If you do not want to document a query parameter, a parameter descriptor can be marked as
IgnorableDescriptor.ignored(). This will prevent it from appearing in the generated snippet while avoiding the failure described above.- Parameters:
 descriptors- the descriptions of the request's query parameters- Returns:
 - the snippet
 - Since:
 - 3.0.0
 
 - 
relaxedQueryParameters
Returns aSnippetthat will document the query parameters from the API operation's request. The query parameters will be documented using the givendescriptors.If a query parameter is documented, is not marked as optional, and is not present in the response, a failure will occur. Any undocumented query parameters will be ignored.
- Parameters:
 descriptors- the descriptions of the request's query parameters- Returns:
 - the snippet
 - Since:
 - 3.0.0
 
 - 
relaxedQueryParameters
Returns aSnippetthat will document the query parameters from the API operation's request. The query parameters will be documented using the givendescriptors.If a parameter is documented, is not marked as optional, and is not present in the response, a failure will occur. Any undocumented query parameters will be ignored.
- Parameters:
 descriptors- the descriptions of the request's query parameters- Returns:
 - the snippet
 - Since:
 - 3.0.0
 
 - 
queryParameters
public static QueryParametersSnippet queryParameters(Map<String, Object> attributes, ParameterDescriptor... descriptors) Returns aSnippetthat will document the query parameters from the API operation's request. The givenattributeswill be available during snippet rendering and the query parameters will be documented using the givendescriptors.If a query parameter is present in the request, but is not documented by one of the descriptors, a failure will occur when the snippet is invoked. Similarly, if a query parameter is documented, is not marked as optional, and is not present in the request, a failure will also occur.
If you do not want to document a query parameter, a parameter descriptor can be marked as
IgnorableDescriptor.ignored(). This will prevent it from appearing in the generated snippet while avoiding the failure described above.- Parameters:
 attributes- the attributesdescriptors- the descriptions of the request's query parameters- Returns:
 - the snippet that will document the query parameters
 - Since:
 - 3.0.0
 
 - 
queryParameters
public static QueryParametersSnippet queryParameters(Map<String, Object> attributes, List<ParameterDescriptor> descriptors) Returns aSnippetthat will document the query parameters from the API operation's request. The givenattributeswill be available during snippet rendering and the query parameters will be documented using the givendescriptors.If a query parameter is present in the request, but is not documented by one of the descriptors, a failure will occur when the snippet is invoked. Similarly, if a query parameter is documented, is not marked as optional, and is not present in the request, a failure will also occur.
If you do not want to document a query parameter, a parameter descriptor can be marked as
IgnorableDescriptor.ignored(). This will prevent it from appearing in the generated snippet while avoiding the failure described above.- Parameters:
 attributes- the attributesdescriptors- the descriptions of the request's query parameters- Returns:
 - the snippet that will document the query parameters
 - Since:
 - 3.0.0
 
 - 
relaxedQueryParameters
public static QueryParametersSnippet relaxedQueryParameters(Map<String, Object> attributes, ParameterDescriptor... descriptors) Returns aSnippetthat will document the query parameters from the API operation's request. The givenattributeswill be available during snippet rendering and the query parameters will be documented using the givendescriptors.If a query parameter is documented, is not marked as optional, and is not present in the response, a failure will occur. Any undocumented query parameters will be ignored.
- Parameters:
 attributes- the attributesdescriptors- the descriptions of the request's query parameters- Returns:
 - the snippet that will document the query parameters
 - Since:
 - 3.0.0
 
 - 
relaxedQueryParameters
public static QueryParametersSnippet relaxedQueryParameters(Map<String, Object> attributes, List<ParameterDescriptor> descriptors) Returns aSnippetthat will document the query parameters from the API operation's request. The givenattributeswill be available during snippet rendering and the query parameters will be documented using the givendescriptors.If a query parameter is documented, is not marked as optional, and is not present in the response, a failure will occur. Any undocumented query parameters will be ignored.
- Parameters:
 attributes- the attributesdescriptors- the descriptions of the request's query parameters- Returns:
 - the snippet that will document the query parameters
 - Since:
 - 3.0.0
 
 - 
formParameters
Returns aSnippetthat will document the form parameters from the API operation's request. The form parameters will be documented using the givendescriptors.If a form parameter is present in the request, but is not documented by one of the descriptors, a failure will occur when the snippet is invoked. Similarly, if a form parameter is documented, is not marked as optional, and is not present in the request, a failure will also occur.
If you do not want to document a form parameter, a parameter descriptor can be marked as
IgnorableDescriptor.ignored(). This will prevent it from appearing in the generated snippet while avoiding the failure described above.- Parameters:
 descriptors- the descriptions of the request's form parameters- Returns:
 - the snippet
 - Since:
 - 3.0.0
 
 - 
formParameters
Returns aSnippetthat will document the form parameters from the API operation's request. The form parameters will be documented using the givendescriptors.If a form parameter is present in the request, but is not documented by one of the descriptors, a failure will occur when the snippet is invoked. Similarly, if a form parameter is documented, is not marked as optional, and is not present in the request, a failure will also occur.
If you do not want to document a form parameter, a parameter descriptor can be marked as
IgnorableDescriptor.ignored(). This will prevent it from appearing in the generated snippet while avoiding the failure described above.- Parameters:
 descriptors- the descriptions of the request's form parameters- Returns:
 - the snippet
 - Since:
 - 3.0.0
 
 - 
relaxedFormParameters
Returns aSnippetthat will document the form parameters from the API operation's request. The form parameters will be documented using the givendescriptors.If a form parameter is documented, is not marked as optional, and is not present in the response, a failure will occur. Any undocumented form parameters will be ignored.
- Parameters:
 descriptors- the descriptions of the request's form parameters- Returns:
 - the snippet
 - Since:
 - 3.0.0
 
 - 
relaxedFormParameters
Returns aSnippetthat will document the form parameters from the API operation's request. The form parameters will be documented using the givendescriptors.If a parameter is documented, is not marked as optional, and is not present in the response, a failure will occur. Any undocumented form parameters will be ignored.
- Parameters:
 descriptors- the descriptions of the request's form parameters- Returns:
 - the snippet
 - Since:
 - 3.0.0
 
 - 
formParameters
public static FormParametersSnippet formParameters(Map<String, Object> attributes, ParameterDescriptor... descriptors) Returns aSnippetthat will document the form parameters from the API operation's request. The givenattributeswill be available during snippet rendering and the form parameters will be documented using the givendescriptors.If a form parameter is present in the request, but is not documented by one of the descriptors, a failure will occur when the snippet is invoked. Similarly, if a form parameter is documented, is not marked as optional, and is not present in the request, a failure will also occur.
If you do not want to document a form parameter, a parameter descriptor can be marked as
IgnorableDescriptor.ignored(). This will prevent it from appearing in the generated snippet while avoiding the failure described above.- Parameters:
 attributes- the attributesdescriptors- the descriptions of the request's form parameters- Returns:
 - the snippet that will document the form parameters
 - Since:
 - 3.0.0
 
 - 
formParameters
public static FormParametersSnippet formParameters(Map<String, Object> attributes, List<ParameterDescriptor> descriptors) Returns aSnippetthat will document the form parameters from the API operation's request. The givenattributeswill be available during snippet rendering and the form parameters will be documented using the givendescriptors.If a form parameter is present in the request, but is not documented by one of the descriptors, a failure will occur when the snippet is invoked. Similarly, if a form parameter is documented, is not marked as optional, and is not present in the request, a failure will also occur.
If you do not want to document a form parameter, a parameter descriptor can be marked as
IgnorableDescriptor.ignored(). This will prevent it from appearing in the generated snippet while avoiding the failure described above.- Parameters:
 attributes- the attributesdescriptors- the descriptions of the request's form parameters- Returns:
 - the snippet that will document the form parameters
 - Since:
 - 3.0.0
 
 - 
relaxedFormParameters
public static FormParametersSnippet relaxedFormParameters(Map<String, Object> attributes, ParameterDescriptor... descriptors) Returns aSnippetthat will document the form parameters from the API operation's request. The givenattributeswill be available during snippet rendering and the form parameters will be documented using the givendescriptors.If a form parameter is documented, is not marked as optional, and is not present in the response, a failure will occur. Any undocumented form parameters will be ignored.
- Parameters:
 attributes- the attributesdescriptors- the descriptions of the request's form parameters- Returns:
 - the snippet that will document the form parameters
 - Since:
 - 3.0.0
 
 - 
relaxedFormParameters
public static FormParametersSnippet relaxedFormParameters(Map<String, Object> attributes, List<ParameterDescriptor> descriptors) Returns aSnippetthat will document the form parameters from the API operation's request. The givenattributeswill be available during snippet rendering and the form parameters will be documented using the givendescriptors.If a form parameter is documented, is not marked as optional, and is not present in the response, a failure will occur. Any undocumented form parameters will be ignored.
- Parameters:
 attributes- the attributesdescriptors- the descriptions of the request's form parameters- Returns:
 - the snippet that will document the form parameters
 - Since:
 - 3.0.0
 
 - 
requestParts
Returns aSnippetthat will document the parts from the API operation's request. The parts will be documented using the givendescriptors.If a part is present in the request, but is not documented by one of the descriptors, a failure will occur when the snippet is invoked. Similarly, if a part is documented, is not marked as optional, and is not present in the request, a failure will also occur.
If you do not want to document a part, a part descriptor can be marked as
IgnorableDescriptor.ignored(). This will prevent it from appearing in the generated snippet while avoiding the failure described above.- Parameters:
 descriptors- the descriptions of the request's parts- Returns:
 - the snippet
 - See Also:
 
 - 
requestParts
Returns aSnippetthat will document the parts from the API operation's request. The parts will be documented using the givendescriptors.If a part is present in the request, but is not documented by one of the descriptors, a failure will occur when the snippet is invoked. Similarly, if a part is documented, is not marked as optional, and is not present in the request, a failure will also occur.
If you do not want to document a part, a part descriptor can be marked as
IgnorableDescriptor.ignored(). This will prevent it from appearing in the generated snippet while avoiding the failure described above.- Parameters:
 descriptors- the descriptions of the request's parts- Returns:
 - the snippet
 - See Also:
 
 - 
relaxedRequestParts
Returns aSnippetthat will document the parts from the API operation's request. The parameters will be documented using the givendescriptors.If a part is documented, is not marked as optional, and is not present in the request, a failure will occur. Any undocumented parts will be ignored.
- Parameters:
 descriptors- the descriptions of the request's parts- Returns:
 - the snippet
 - See Also:
 
 - 
relaxedRequestParts
Returns aSnippetthat will document the parts from the API operation's request. The parameters will be documented using the givendescriptors.If a part is documented, is not marked as optional, and is not present in the request, a failure will occur. Any undocumented parts will be ignored.
- Parameters:
 descriptors- the descriptions of the request's parts- Returns:
 - the snippet
 - See Also:
 
 - 
requestParts
public static RequestPartsSnippet requestParts(Map<String, Object> attributes, RequestPartDescriptor... descriptors) Returns aSnippetthat will document the parts from the API operation's request. The givenattributeswill be available during snippet rendering and the parts will be documented using the givendescriptors.If a part is present in the request, but is not documented by one of the descriptors, a failure will occur when the snippet is invoked. Similarly, if a part is documented, is not marked as optional, and is not present in the request, a failure will also occur.
If you do not want to document a part, a part descriptor can be marked as
IgnorableDescriptor.ignored(). This will prevent it from appearing in the generated snippet while avoiding the failure described above.- Parameters:
 attributes- the attributesdescriptors- the descriptions of the request's parts- Returns:
 - the snippet
 - See Also:
 
 - 
requestParts
public static RequestPartsSnippet requestParts(Map<String, Object> attributes, List<RequestPartDescriptor> descriptors) Returns aSnippetthat will document the parts from the API operation's request. The givenattributeswill be available during snippet rendering and the parts will be documented using the givendescriptors.If a part is present in the request, but is not documented by one of the descriptors, a failure will occur when the snippet is invoked. Similarly, if a part is documented, is not marked as optional, and is not present in the request, a failure will also occur.
If you do not want to document a part, a part descriptor can be marked as
IgnorableDescriptor.ignored(). This will prevent it from appearing in the generated snippet while avoiding the failure described above.- Parameters:
 attributes- the attributesdescriptors- the descriptions of the request's parts- Returns:
 - the snippet
 - See Also:
 
 - 
relaxedRequestParts
public static RequestPartsSnippet relaxedRequestParts(Map<String, Object> attributes, RequestPartDescriptor... descriptors) Returns aSnippetthat will document the parts from the API operation's request. The givenattributeswill be available during snippet rendering and the parts will be documented using the givendescriptors.If a part is documented, is not marked as optional, and is not present in the request, a failure will occur. Any undocumented parts will be ignored.
- Parameters:
 attributes- the attributesdescriptors- the descriptions of the request's parts- Returns:
 - the snippet
 
 - 
relaxedRequestParts
public static RequestPartsSnippet relaxedRequestParts(Map<String, Object> attributes, List<RequestPartDescriptor> descriptors) Returns aSnippetthat will document the parts from the API operation's request. The givenattributeswill be available during snippet rendering and the parts will be documented using the givendescriptors.If a part is documented, is not marked as optional, and is not present in the request, a failure will occur. Any undocumented parts will be ignored.
- Parameters:
 attributes- the attributesdescriptors- the descriptions of the request's parts- Returns:
 - the snippet
 
 
 -