+ /**
+ * Append a string to a given generic array element
+ *
+ * @param $keyGroup Main group for the key
+ * @param $subGroup Sub group for the key
+ * @param $key Key to unset
+ * @param $element Element to check
+ * @param $value Value to add/append
+ * @return void
+ */
+ protected final function appendStringToGenericArrayElement ($keyGroup, $subGroup, $key, $element, $value, $appendGlue = '') {
+ // Debug message
+ //* NOISY-DEBUG: */ if (!is_object($value)) $this->outputLine('[' . __METHOD__ . ':' . __LINE__ . '] keyGroup=' . $keyGroup . ',subGroup=' . $subGroup . ',key=' . $key . ',element=' . $element . ',value[' . gettype($value) . ']=' . print_r($value, TRUE) . ',appendGlue=' . $appendGlue);
+
+ // Is it already there?
+ if ($this->isGenericArrayElementSet($keyGroup, $subGroup, $key, $element)) {
+ // Append it
+ $this->genericArray[$keyGroup][$subGroup][$key][$element] .= $appendGlue . (string) $value;
+ } else {
+ // Add it
+ $this->genericArray[$keyGroup][$subGroup][$key][$element] = (string) $value;
+ }
+ }
+
+ /**
+ * Initializes given generic array group
+ *
+ * @param $keyGroup Main group for the key
+ * @param $subGroup Sub group for the key
+ * @param $key Key to use
+ * @param $forceInit Optionally force initialization
+ * @return void
+ */
+ protected final function initGenericArrayGroup ($keyGroup, $subGroup, $forceInit = FALSE) {
+ // Debug message
+ //* NOISY-DEBUG: */ $this->outputLine('[' . __METHOD__ . ':' . __LINE__ . '] keyGroup=' . $keyGroup . ',subGroup=' . $subGroup . ',forceInit=' . intval($forceInit));
+
+ // Is it already set?
+ if (($forceInit === FALSE) && ($this->isGenericArrayGroupSet($keyGroup, $subGroup))) {
+ // Already initialized
+ trigger_error(__METHOD__ . ':keyGroup=' . $keyGroup . ',subGroup=' . $subGroup . ' already initialized.');
+ exit;
+ } // END - if
+
+ // Initialize it
+ $this->genericArray[$keyGroup][$subGroup] = array();
+ }
+
+ /**
+ * Initializes given generic array key
+ *
+ * @param $keyGroup Main group for the key
+ * @param $subGroup Sub group for the key
+ * @param $key Key to use
+ * @param $forceInit Optionally force initialization
+ * @return void
+ */
+ protected final function initGenericArrayKey ($keyGroup, $subGroup, $key, $forceInit = FALSE) {
+ // Debug message
+ //* NOISY-DEBUG: */ $this->outputLine('[' . __METHOD__ . ':' . __LINE__ . '] keyGroup=' . $keyGroup . ',subGroup=' . $subGroup . ',key=' . $key . ',forceInit=' . intval($forceInit));
+
+ // Is it already set?
+ if (($forceInit === FALSE) && ($this->isGenericArrayKeySet($keyGroup, $subGroup, $key))) {
+ // Already initialized
+ trigger_error(__METHOD__ . ':keyGroup=' . $keyGroup . ',subGroup=' . $subGroup . ',key=' . $key . ' already initialized.');
+ exit;
+ } // END - if
+
+ // Initialize it
+ $this->genericArray[$keyGroup][$subGroup][$key] = array();
+ }
+
+ /**
+ * Initializes given generic array element
+ *
+ * @param $keyGroup Main group for the key
+ * @param $subGroup Sub group for the key
+ * @param $key Key to use
+ * @param $element Element to use
+ * @param $forceInit Optionally force initialization
+ * @return void
+ */
+ protected final function initGenericArrayElement ($keyGroup, $subGroup, $key, $element, $forceInit = FALSE) {
+ // Debug message
+ //* NOISY-DEBUG: */ $this->outputLine('[' . __METHOD__ . ':' . __LINE__ . '] keyGroup=' . $keyGroup . ',subGroup=' . $subGroup . ',key=' . $key . ',element=' . $element . ',forceInit=' . intval($forceInit));
+
+ // Is it already set?
+ if (($forceInit === FALSE) && ($this->isGenericArrayElementSet($keyGroup, $subGroup, $key, $element))) {
+ // Already initialized
+ trigger_error(__METHOD__ . ':keyGroup=' . $keyGroup . ',subGroup=' . $subGroup . ',key=' . $key . ',element=' . $element . ' already initialized.');
+ exit;
+ } // END - if
+
+ // Initialize it
+ $this->genericArray[$keyGroup][$subGroup][$key][$element] = array();
+ }
+