// Code generated by go-swagger; DO NOT EDIT.

package operations

import (
	"net/http"

	"github.com/go-openapi/runtime"

	"github.com/go-swagger/go-swagger/examples/external-types/models"
)

/*
GetTestDefault A reference to a type already defined in the models package
(defaults to <<target>/models, defined by CLI flag --model-package).
The response payload is defined as: *models.Zzz

swagger:response getTestDefault
*/
type GetTestDefault struct {
	_statusCode int

	/*
	  In: Body
	*/
	Payload *models.Zzz `json:"body,omitempty"`
}

// NewGetTestDefault creates GetTestDefault with default headers values
func NewGetTestDefault(code int) *GetTestDefault {
	if code <= 0 {
		code = 500
	}

	return &GetTestDefault{
		_statusCode: code,
	}
}

// WithStatusCode adds the status to the get test default response
func (o *GetTestDefault) WithStatusCode(code int) *GetTestDefault {
	o._statusCode = code
	return o
}

// SetStatusCode sets the status to the get test default response
func (o *GetTestDefault) SetStatusCode(code int) {
	o._statusCode = code
}

// WithPayload adds the payload to the get test default response
func (o *GetTestDefault) WithPayload(payload *models.Zzz) *GetTestDefault {
	o.Payload = payload
	return o
}

// SetPayload sets the payload to the get test default response
func (o *GetTestDefault) SetPayload(payload *models.Zzz) {
	o.Payload = payload
}

// WriteResponse to the client
func (o *GetTestDefault) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {

	rw.WriteHeader(o._statusCode)
	if o.Payload != nil {
		payload := o.Payload
		if err := producer.Produce(rw, payload); err != nil {
			panic(err) // let the recovery middleware deal with this
		}
	}
}
