118 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			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];
 | |
|         
 | |
|     }
 | |
|     
 | |
| } |