Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
5 / 5
CRAP
100.00% covered (success)
100.00%
8 / 8
HEXONET\Column
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
5 / 5
7
100.00% covered (success)
100.00%
8 / 8
 __construct
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
4 / 4
 getKey
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
1 / 1
 getData
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
1 / 1
 getDataByIndex
100.00% covered (success)
100.00%
1 / 1
2
100.00% covered (success)
100.00%
1 / 1
 hasDataIndex
100.00% covered (success)
100.00%
1 / 1
2
100.00% covered (success)
100.00%
1 / 1
<?php
declare(strict_types=1);
/**
 * HEXONET
 * Copyright © HEXONET
 */
namespace HEXONET;
/**
 * HEXONET Column
 *
 * @package HEXONET
 */
class Column
{
    /**
     * count of column data entries
     * @var int
     */
    public $length;
    /**
     * column key name
     * @var string
     */
    private $key;
    /**
     * column data container
     * @var string[]
     */
    private $data;
    /**
     * Constructor
     *
     * @param string $key Column Name
     * @param string[] $data Column Data
     */
    public function __construct($key, $data)
    {
        $this->key = $key;
        $this->data = $data;
        $this->length = count($data);
    }
    /**
     * Get column name
     * @return string column name
     */
    public function getKey()
    {
        return $this->key;
    }
    /**
     * Get column data
     * @return string[] column data
     */
    public function getData()
    {
        return $this->data;
    }
    /**
     * Get column data at given index
     * @param integer $idx data index
     * @return string|null data at given index
     */
    public function getDataByIndex($idx)
    {
        return $this->hasDataIndex($idx) ? $this->data[$idx] : null;
    }
    /**
     * Check if column has a given data index
     * @param integer $idx data index
     * @return boolean result
     */
    private function hasDataIndex($idx)
    {
        return ($idx >= 0 && $idx < $this->length);
    }
}