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

package models

// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command

import (
	strfmt "github.com/go-openapi/strfmt"

	"github.com/go-openapi/errors"
	"github.com/go-openapi/swag"
	"github.com/go-openapi/validate"
)

// GetUniverseBloodlinesOKBodyItems get_universe_bloodlines_200_ok
//
// 200 ok object
// swagger:model getUniverseBloodlinesOKBodyItems

type GetUniverseBloodlinesOKBodyItems struct {

	// get_universe_bloodlines_bloodline_id
	//
	// bloodline_id integer
	// Required: true
	BloodlineID *int32 `json:"bloodline_id"`

	// get_universe_bloodlines_charisma
	//
	// charisma integer
	// Required: true
	Charisma *int32 `json:"charisma"`

	// get_universe_bloodlines_corporation_id
	//
	// corporation_id integer
	// Required: true
	CorporationID *int32 `json:"corporation_id"`

	// get_universe_bloodlines_description
	//
	// description string
	// Required: true
	Description *string `json:"description"`

	// get_universe_bloodlines_intelligence
	//
	// intelligence integer
	// Required: true
	Intelligence *int32 `json:"intelligence"`

	// get_universe_bloodlines_memory
	//
	// memory integer
	// Required: true
	Memory *int32 `json:"memory"`

	// get_universe_bloodlines_name
	//
	// name string
	// Required: true
	Name *string `json:"name"`

	// get_universe_bloodlines_perception
	//
	// perception integer
	// Required: true
	Perception *int32 `json:"perception"`

	// get_universe_bloodlines_race_id
	//
	// race_id integer
	// Required: true
	RaceID *int32 `json:"race_id"`

	// get_universe_bloodlines_ship_type_id
	//
	// ship_type_id integer
	// Required: true
	ShipTypeID *int32 `json:"ship_type_id"`

	// get_universe_bloodlines_willpower
	//
	// willpower integer
	// Required: true
	Willpower *int32 `json:"willpower"`
}

/* polymorph getUniverseBloodlinesOKBodyItems bloodline_id false */

/* polymorph getUniverseBloodlinesOKBodyItems charisma false */

/* polymorph getUniverseBloodlinesOKBodyItems corporation_id false */

/* polymorph getUniverseBloodlinesOKBodyItems description false */

/* polymorph getUniverseBloodlinesOKBodyItems intelligence false */

/* polymorph getUniverseBloodlinesOKBodyItems memory false */

/* polymorph getUniverseBloodlinesOKBodyItems name false */

/* polymorph getUniverseBloodlinesOKBodyItems perception false */

/* polymorph getUniverseBloodlinesOKBodyItems race_id false */

/* polymorph getUniverseBloodlinesOKBodyItems ship_type_id false */

/* polymorph getUniverseBloodlinesOKBodyItems willpower false */

// Validate validates this get universe bloodlines o k body items
func (m *GetUniverseBloodlinesOKBodyItems) Validate(formats strfmt.Registry) error {
	var res []error

	if err := m.validateBloodlineID(formats); err != nil {
		// prop
		res = append(res, err)
	}

	if err := m.validateCharisma(formats); err != nil {
		// prop
		res = append(res, err)
	}

	if err := m.validateCorporationID(formats); err != nil {
		// prop
		res = append(res, err)
	}

	if err := m.validateDescription(formats); err != nil {
		// prop
		res = append(res, err)
	}

	if err := m.validateIntelligence(formats); err != nil {
		// prop
		res = append(res, err)
	}

	if err := m.validateMemory(formats); err != nil {
		// prop
		res = append(res, err)
	}

	if err := m.validateName(formats); err != nil {
		// prop
		res = append(res, err)
	}

	if err := m.validatePerception(formats); err != nil {
		// prop
		res = append(res, err)
	}

	if err := m.validateRaceID(formats); err != nil {
		// prop
		res = append(res, err)
	}

	if err := m.validateShipTypeID(formats); err != nil {
		// prop
		res = append(res, err)
	}

	if err := m.validateWillpower(formats); err != nil {
		// prop
		res = append(res, err)
	}

	if len(res) > 0 {
		return errors.CompositeValidationError(res...)
	}
	return nil
}

func (m *GetUniverseBloodlinesOKBodyItems) validateBloodlineID(formats strfmt.Registry) error {

	if err := validate.Required("bloodline_id", "body", m.BloodlineID); err != nil {
		return err
	}

	return nil
}

func (m *GetUniverseBloodlinesOKBodyItems) validateCharisma(formats strfmt.Registry) error {

	if err := validate.Required("charisma", "body", m.Charisma); err != nil {
		return err
	}

	return nil
}

func (m *GetUniverseBloodlinesOKBodyItems) validateCorporationID(formats strfmt.Registry) error {

	if err := validate.Required("corporation_id", "body", m.CorporationID); err != nil {
		return err
	}

	return nil
}

func (m *GetUniverseBloodlinesOKBodyItems) validateDescription(formats strfmt.Registry) error {

	if err := validate.Required("description", "body", m.Description); err != nil {
		return err
	}

	return nil
}

func (m *GetUniverseBloodlinesOKBodyItems) validateIntelligence(formats strfmt.Registry) error {

	if err := validate.Required("intelligence", "body", m.Intelligence); err != nil {
		return err
	}

	return nil
}

func (m *GetUniverseBloodlinesOKBodyItems) validateMemory(formats strfmt.Registry) error {

	if err := validate.Required("memory", "body", m.Memory); err != nil {
		return err
	}

	return nil
}

func (m *GetUniverseBloodlinesOKBodyItems) validateName(formats strfmt.Registry) error {

	if err := validate.Required("name", "body", m.Name); err != nil {
		return err
	}

	return nil
}

func (m *GetUniverseBloodlinesOKBodyItems) validatePerception(formats strfmt.Registry) error {

	if err := validate.Required("perception", "body", m.Perception); err != nil {
		return err
	}

	return nil
}

func (m *GetUniverseBloodlinesOKBodyItems) validateRaceID(formats strfmt.Registry) error {

	if err := validate.Required("race_id", "body", m.RaceID); err != nil {
		return err
	}

	return nil
}

func (m *GetUniverseBloodlinesOKBodyItems) validateShipTypeID(formats strfmt.Registry) error {

	if err := validate.Required("ship_type_id", "body", m.ShipTypeID); err != nil {
		return err
	}

	return nil
}

func (m *GetUniverseBloodlinesOKBodyItems) validateWillpower(formats strfmt.Registry) error {

	if err := validate.Required("willpower", "body", m.Willpower); err != nil {
		return err
	}

	return nil
}

// MarshalBinary interface implementation
func (m *GetUniverseBloodlinesOKBodyItems) MarshalBinary() ([]byte, error) {
	if m == nil {
		return nil, nil
	}
	return swag.WriteJSON(m)
}

// UnmarshalBinary interface implementation
func (m *GetUniverseBloodlinesOKBodyItems) UnmarshalBinary(b []byte) error {
	var res GetUniverseBloodlinesOKBodyItems
	if err := swag.ReadJSON(b, &res); err != nil {
		return err
	}
	*m = res
	return nil
}
