Added missing Javadocs
Added missing Javadocs

package com.ofg.infrastructure.web.resttemplate.fluent.common.response.receive

import com.ofg.infrastructure.web.resttemplate.fluent.common.response.executor.Executable
import org.springframework.http.HttpHeaders
import org.springframework.http.MediaType

/**
 * Interface that provides methods to set headers on HTTP requests
 * 
 * @param < T > - interface to return via {@link Executable} when you have finished setting headers
 */
interface HeadersSetting<T> extends Executable<T> {

    /**
     * List of acceptable {@link MediaType} to be set in the {@link HttpHeaders#ACCEPT} header 
     * 
     * @param acceptableMediaTypes
     * 
     * @return itself
     */
    HeadersSetting<T> accept(List<MediaType> acceptableMediaTypes)

    /**
     * List of acceptable {@link MediaType} to be set in the {@link HttpHeaders#ACCEPT} header 
     *
     * @param acceptableMediaTypes
     *
     * @return itself
     */
    HeadersSetting<T> accept(MediaType... acceptableMediaTypes)

    /**
     * Sets value for the {@link HttpHeaders#CACHE_CONTROL} header 
     *
     * @param cacheControl
     *
     * @return itself
     */
    HeadersSetting<T> cacheControl(String cacheControl)

    /**
     * Sets {@link MediaType} for the {@link HttpHeaders#CONTENT_TYPE} header 
     *
     * @param mediaType
     *
     * @return itself
     */
    HeadersSetting<T> contentType(MediaType mediaType)

    /**
     * Sets value for the {@link HttpHeaders#CONTENT_TYPE} header 
     *
     * @param contentType
     *
     * @return itself
     */
    HeadersSetting<T> contentType(String contentType)

    /**
     * Sets {@link MediaType#APPLICATION_JSON_VALUE} for the {@link HttpHeaders#CONTENT_TYPE} header 
     *
     * @return itself
     */
    HeadersSetting<T> contentTypeJson()

    /**
     * Sets {@link MediaType#APPLICATION_XML_VALUE} for the {@link HttpHeaders#CONTENT_TYPE} header 
     *
     * @return itself
     */
    HeadersSetting<T> contentTypeXml()

    /**
     * Sets value for the {@link HttpHeaders#EXPIRES} header 
     *
     * @param expires
     *
     * @return itself
     */
    HeadersSetting<T> expires(long expires)

    /**
     * Sets value for the {@link HttpHeaders#LAST_MODIFIED} header 
     *
     * @param lastModified
     *
     * @return itself
     */
    HeadersSetting<T> lastModified(long lastModified)

    /**
     * Sets value for the {@link HttpHeaders#LOCATION} header 
     *
     * @param location
     *
     * @return itself
     */
    HeadersSetting<T> location(URI location)

    /**
     * Sets value for a header with name
     * 
     * @param headerName
     * @param headerValue
     * 
     * @return itself
     */
    HeadersSetting<T> header(String headerName, String headerValue)

    /**
     * Sets value for headers from a map (key - header name, value - header value)
     *
     * @param values
     *
     * @return itself
     */
    HeadersSetting<T> headers(Map<String, String> values)

    /**
     * Sets value for headers from {@link HttpHeaders}
     *
     * @param httpHeaders
     *
     * @return itself
     */
    HeadersSetting<T> headers(HttpHeaders httpHeaders)

}
package com.ofg.infrastructure.web.resttemplate.fluent.common.response.receive

import com.ofg.infrastructure.web.resttemplate.fluent.common.response.executor.Executable
import org.springframework.http.HttpHeaders
import org.springframework.http.MediaType

/**
 * Interface that provides methods to set headers on HTTP requests
 * 
 * @param < T > - interface to return via {@link Executable} when you have finished setting headers
 */
interface HeadersSetting<T> extends Executable<T> {

    /**
     * List of acceptable {@link MediaType} to be set in the {@link HttpHeaders#ACCEPT} header 
     * 
     * @param acceptableMediaTypes
     * 
     * @return itself
     */
    HeadersSetting<T> accept(List<MediaType> acceptableMediaTypes)

    HeadersSetting<T> accept(MediaType... acceptableMediaTypes)

    /**
     * Sets value for the {@link HttpHeaders#CACHE_CONTROL} header 
     *
     * @param cacheControl
     *
     * @return itself
     */
    HeadersSetting<T> cacheControl(String cacheControl)

    /**
     * Sets {@link MediaType} for the {@link HttpHeaders#CONTENT_TYPE} header 
     *
     * @param mediaType
     *
     * @return itself
     */
    HeadersSetting<T> contentType(MediaType mediaType)

    /**
     * Sets value for the {@link HttpHeaders#CONTENT_TYPE} header 
     *
     * @param contentType
     *
     * @return itself
     */
    HeadersSetting<T> contentType(String contentType)

    /**
     * Sets {@link MediaType#APPLICATION_JSON_VALUE} for the {@link HttpHeaders#CONTENT_TYPE} header 
     *
     * @return itself
     */
    HeadersSetting<T> contentTypeJson()

    /**
     * Sets {@link MediaType#APPLICATION_XML_VALUE} for the {@link HttpHeaders#CONTENT_TYPE} header 
     *
     * @return itself
     */
    HeadersSetting<T> contentTypeXml()

    /**
     * Sets value for the {@link HttpHeaders#EXPIRES} header 
     *
     * @param expires
     *
     * @return itself
     */
    HeadersSetting<T> expires(long expires)

    /**
     * Sets value for the {@link HttpHeaders#LAST_MODIFIED} header 
     *
     * @param lastModified
     *
     * @return itself
     */
    HeadersSetting<T> lastModified(long lastModified)

    /**
     * Sets value for the {@link HttpHeaders#LOCATION} header 
     *
     * @param location
     *
     * @return itself
     */
    HeadersSetting<T> location(URI location)

    /**
     * Sets value for a header with name
     * 
     * @param headerName
     * @param headerValue
     * 
     * @return itself
     */
    HeadersSetting<T> header(String headerName, String headerValue)

    /**
     * Sets value for headers from a map (key - header name, value - header value)
     *
     * @param values
     *
     * @return itself
     */
    HeadersSetting<T> headers(Map<String, String> values)

    /**
     * Sets value for headers from {@link HttpHeaders}
     *
     * @param httpHeaders
     *
     * @return itself
     */
    HeadersSetting<T> headers(HttpHeaders httpHeaders)

}