lib/OperationParameter.js
function() {

    /*****************************************************************************
     * @property {string} name -- The operation parameter name
     * @readonly
     */
    this.name = undefined

    /***************************************************************************
     * @property {string} location
     * @description The location of the parameter in an incoming request [choices:
     *              "query", "header", "path", "body]
     */
    this.location = undefined  // "query", "header", "path", "formData" or "body"

    /***************************************************************************
     * @property {string} [description] -- A brief description of this parameter
     *                                     This will be displayed in any generated
     *                                     documentation.
     */
    this.description = undefined

    /***************************************************************************
     * @property {Object?} [schema] -- A JSON schema used to validate the
     *                                 incoming parameter
     */
    this.schema = undefined

    /***************************************************************************
     * @property {boolean} [required=false] -- Flag determining whether the
     *                                         parameter is required
     */
    this.required = false

    /***************************************************************************
     * @property {*} [default] -- A default value for the parameter if it is not
     *                            present in the incoming request
     */
    this.default = undefined // XXX should be undefined?

  }
function() {

    /*****************************************************************************
     * @property {string} name -- The operation parameter name
     * @readonly
     */
    this.name = undefined

    /***************************************************************************
     * @property {string} location
     * @description The location of the parameter in an incoming request [choices:
     *              "query", "header", "path", "body]
     */
    this.location = undefined  // "query", "header", "path", "formData" or "body"

    /***************************************************************************
     * @property {string} [description] -- A brief description of this parameter
     *                                     This will be displayed in any generated
     *                                     documentation.
     */
    this.description = undefined

    /***************************************************************************
     * @property {Object?} [schema] -- A JSON schema used to validate the
     *                                 incoming parameter
     */
    this.schema = undefined

    /***************************************************************************
     * @property {boolean} [required=false] -- Flag determining whether the
     *                                         parameter is required
     */
    this.required = false

    /***************************************************************************
     * @property {*} [default] -- A default value for the parameter if it is not
     *                            present in the incoming request
     */
    this.default = undefined // XXX should be undefined?

  }
***************************************************************************
@constructs OperationParameter
@description Describes an HTTP parameter. Parameter types include: path
parameters (e.g., "_id" in "/foo/bar/:_id"), query parameters
(e.g., "baz" in "/foo/bar?baz=true"), HTTP header parameters,
and HTTP body parameters.
@memberof carbond