@@ -52,11 +52,7 @@ public function __construct($id = null, $key = null, $variableUsageInstances = [
5252
5353 $ this ->_variableUsageInstances = ConfigParser::generateMap ($ variableUsageInstances , null , VariableUsage::class);
5454
55- if (!empty ($ this ->_variableUsageInstances )){
56- foreach (array_values ($ this ->_variableUsageInstances ) as $ variableUsage ){
57- $ _variableIdToVariableUsageInstanceMap [$ variableUsage ->getId ()] = $ variableUsage ;
58- }
59- }
55+ $ this ->generateVariableIdToVariableUsageMap ();
6056 }
6157
6258 /**
@@ -91,16 +87,41 @@ public function setKey($key)
9187 $ this ->_key = $ key ;
9288 }
9389
90+ /**
91+ * @return [VariableUsage] Variable usage instances in this variation
92+ */
9493 public function getVariables (){
9594 return $ this ->_variableUsageInstances ;
9695 }
9796
97+ /**
98+ * @param string Variable ID
99+ *
100+ * @return VariableUsage Variable usage instance corresponding to given variable ID
101+ */
102+ public function getVariableUsageById ($ variableId ){
103+ if (isset ($ this ->_variableIdToVariableUsageInstanceMap [$ variableId ]))
104+ return $ this ->_variableIdToVariableUsageInstanceMap [$ variableId ];
105+ else
106+ return null ;
107+ }
108+
109+ /**
110+ * @param [VariableUsage] array of variable usage instances
111+ */
98112 public function setVariables ($ variableUsageInstances ){
99113 $ this ->_variableUsageInstances = ConfigParser::generateMap ($ variableUsageInstances , null , VariableUsage::class);
114+ $ this ->generateVariableIdToVariableUsageMap ();
115+ }
100116
117+ /**
118+ * Generates variable ID to Variable usage instance map
119+ * from variable usage instances
120+ */
121+ private function generateVariableIdToVariableUsageMap (){
101122 if (!empty ($ this ->_variableUsageInstances )){
102123 foreach (array_values ($ this ->_variableUsageInstances ) as $ variableUsage ){
103- $ _variableIdToVariableUsageInstanceMap [$ variableUsage ->getId ()] = $ variableUsage ;
124+ $ this -> _variableIdToVariableUsageInstanceMap [$ variableUsage ->getId ()] = $ variableUsage ;
104125 }
105126 }
106127 }
0 commit comments