<?php

namespace Edi;

use Vn\Lib\Type;
use Vn\Lib\Date;
use Vn\Lib\Time;

class Segment
{
	var $name;
	var $values = [];

	function getValue ($key, $type = NULL)
	{
		if ($key < 0 || $key >= count ($this->values))
			return NULL;
 
		$v = $this->values[$key];

		switch ($type)
		{
			case Type::DATE:
				$tmp = new Date ();
				$tmp->setDate (substr ($v, 0, 4), substr ($v, 4, 2), substr ($v, 6, 2));
				return $tmp;
			case Type::TIME:
				$tmp = new Time ();
				$tmp->setTime (substr ($v, 0, 2), substr ($v, 2, 2));
				return $tmp;
			case Type::DOUBLE:
			case Type::INTEGER:
				Type::set ($v, $type);
			default:
				return $v;
		}
	}
}