AlternC/lib/Alternc/Diagnostic/Data.php

118 lines
2.4 KiB
PHP

<?php
/**
* Uniform data component containing other components or real data
*/
class Alternc_Diagnostic_Data {
public $index = array();
public $data = array();
public $type = "";
public $metadata = null;
const TYPE_ROOT = "root";
const TYPE_DOMAIN = "service";
const TYPE_SECTION = "section";
public function __construct( $type, $sectionData = null) {
$this->type = $type;
if( $sectionData){
$this->data = $sectionData;
}
}
/**
* Sets
*
* @param string $sectionname
* @param Alternc_Diagnostic_Data $data
* @return boolean
*/
function addData( $sectionname, Alternc_Diagnostic_Data $data){
$this->index[] = $sectionname;
$this->data[$sectionname] = $data;
return true;
}
/**
* @param array index
*/
public function setIndex($index) {
$this->index = $index;
return $this;
}
/**
* @return array
*/
public function getIndex() {
return $this->index;
}
/**
* @param array data
*/
public function setData($data) {
$this->data = $data;
return $this;
}
/**
* @return array
*/
public function getData() {
return $this->data;
}
/**
* @param string type
*/
public function setType($type) {
$this->type = $type;
return $this;
}
/**
* @return string
*/
public function getType() {
return $this->type;
}
/**
* @param array metadata
*/
public function setMetadata($metadata) {
$this->metadata = $metadata;
return $this;
}
/**
* @return array
*/
public function getMetadata() {
return $this->metadata;
}
/**
* Retrieves a given section of the data
*
*
* @param string $section_name
* @return boolean
*/
public function getSection( $section_name ){
if( !in_array($section_name, $this->index)){
return FALSE;
}
return $this->data[$section_name];
}
}