<?php
/**
 * Amount
 *
 * PHP version 5
 *
 * @category Class
 * @package  Swagger\Server\Model
 * @author   Swagger Codegen team
 * @link     https://github.com/swagger-api/swagger-codegen
 */

/**
 * Swagger Petstore
 *
 * This is a sample server Petstore server.  You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/).  For this sample, you can use the api key `special-key` to test the authorization filters.
 *
 * OpenAPI spec version: 1.0.0
 * Contact: apiteam@swagger.io
 * Generated by: https://github.com/swagger-api/swagger-codegen.git
 *
 */

/**
 * NOTE: This class is auto generated by the swagger code generator program.
 * https://github.com/swagger-api/swagger-codegen
 * Do not edit the class manually.
 */

namespace Swagger\Server\Model;

use Symfony\Component\Validator\Constraints as Assert;
use JMS\Serializer\Annotation\Type;
use JMS\Serializer\Annotation\SerializedName;

/**
 * Class representing the Amount model.
 *
 * some description
 *
 * @package Swagger\Server\Model
 * @author  Swagger Codegen team
 */
class Amount 
{
        /**
     * some description
     *
     * @var double
     * @SerializedName("value")
     * @Assert\NotNull()
     * @Assert\Type("double")
     * @Type("double")
     * @Assert\GreaterThanOrEqual(0.01)
     * @Assert\LessThanOrEqual(1000000000000000)
     */
    protected $value;

    /**
     * @var Swagger\Server\Model\Currency
     * @SerializedName("currency")
     * @Assert\NotNull()
     * @Assert\Type("Swagger\Server\Model\Currency")
     * @Type("Swagger\Server\Model\Currency")
     */
    protected $currency;

    /**
     * Constructor
     * @param mixed[] $data Associated array of property values initializing the model
     */
    public function __construct(array $data = null)
    {
        $this->value = isset($data['value']) ? $data['value'] : null;
        $this->currency = isset($data['currency']) ? $data['currency'] : null;
    }

    /**
     * Gets value.
     *
     * @return double
     */
    public function getValue()
    {
        return $this->value;
    }

    /**
     * Sets value.
     *
     * @param double $value  some description
     *
     * @return $this
     */
    public function setValue($value)
    {
        $this->value = $value;

        return $this;
    }

    /**
     * Gets currency.
     *
     * @return Swagger\Server\Model\Currency
     */
    public function getCurrency()
    {
        return $this->currency;
    }

    /**
     * Sets currency.
     *
     * @param Swagger\Server\Model\Currency $currency
     *
     * @return $this
     */
    public function setCurrency(Currency $currency)
    {
        $this->currency = $currency;

        return $this;
    }
}


