<?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;
		}
	}
}