<?php
use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for Coordinate StructType
 * Meta information extracted from the WSDL
 * - nillable: true
 * - type: tns:Coordinate
 * @subpackage Structs
 */
class Coordinate extends AbstractStructBase
{
    /**
     * The Latitudine
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var float
     */
    public $Latitudine;
    /**
     * The Longitudine
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var float
     */
    public $Longitudine;
    /**
     * Constructor method for Coordinate
     * @uses Coordinate::setLatitudine()
     * @uses Coordinate::setLongitudine()
     * @param float $latitudine
     * @param float $longitudine
     */
    public function __construct($latitudine = null, $longitudine = null)
    {
        $this
            ->setLatitudine($latitudine)
            ->setLongitudine($longitudine);
    }
    /**
     * Get Latitudine value
     * @return float|null
     */
    public function getLatitudine()
    {
        return $this->Latitudine;
    }
    /**
     * Set Latitudine value
     * @param float $latitudine
     * @return Coordinate
     */
    public function setLatitudine($latitudine = null)
    {
        // validation for constraint: float
        if (!is_null($latitudine) && !(is_float($latitudine) || is_numeric($latitudine))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a float value, %s given', var_export($latitudine, true), gettype($latitudine)), __LINE__);
        }
        $this->Latitudine = $latitudine;
        return $this;
    }
    /**
     * Get Longitudine value
     * @return float|null
     */
    public function getLongitudine()
    {
        return $this->Longitudine;
    }
    /**
     * Set Longitudine value
     * @param float $longitudine
     * @return Coordinate
     */
    public function setLongitudine($longitudine = null)
    {
        // validation for constraint: float
        if (!is_null($longitudine) && !(is_float($longitudine) || is_numeric($longitudine))) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a float value, %s given', var_export($longitudine, true), gettype($longitudine)), __LINE__);
        }
        $this->Longitudine = $longitudine;
        return $this;
    }
}
