try { echo "Getting ->jim\n"; Debug::dump($hashtable->jim); } catch (Exception $e) { echo get_class($e), ': ', $e->getMessage(), "\n\n"; } try { echo "Getting ->mary\n"; Debug::dump($hashtable->mary); } catch (Exception $e) { echo get_class($e), ': ', $e->getMessage(), "\n\n"; } // IMap::get() try { echo "Getting get('jim')\n"; Debug::dump($hashtable->get('jim', 'default')); } catch (Exception $e) { echo get_class($e), ': ', $e->getMessage(), "\n\n"; } try { echo "Getting get('mary')\n"; Debug::dump($hashtable->get('mary', 'default')); } catch (Exception $e) { echo get_class($e), ': ', $e->getMessage(), "\n\n"; } // IMap::count echo "Count: ", $hashtable->count(), "\n"; echo "Count: ", count($hashtable), "\n"; // IMap::getIterator echo "Get Interator:\n"; foreach ($hashtable as $key => $person) {
function loadFromFile() { $configname = new StringBuffer(); $buffers = new StringBuffer(); $conf = NULL; $key = ''; $value = ''; $skipline = 0; $c = ''; if ($this->reader->ready()) { while (($c = $this->reader->read()) != '') { if ($c == CONFIG_END_KEY) { if (isset($conf) && $buffers->length() > 0) { $buffers = $buffers->trimAll(); if (!$buffers->startsWith(CONFIG_COMMENT)) { $key_separator_pos = $buffers->indexOf('='); if ($buffers->startsWith(MULTICONFIG_START) && $buffers->endsWith(MULTICONFIG_END)) { if ($conf->size() > 0) { $this->put($configname->toString(), $conf); } $i = $buffers->indexOf(':') + 1; $configname = $buffers->substring($i, $buffers->length() - 1); $conf = new Hashtable(); } else { if ($key_separator_pos > 0) { $key = $buffers->substring(0, $key_separator_pos); $key = $key->trimAll(); $value = $buffers->substring($key_separator_pos + 1); $value = $value->trimAll(); if ($key->length() > 0 && $value->length() > 0) { $str = $conf->get($key->toString()) . $value->toString(); $conf->put($key->toString(), $str); } } } } } else { $buffers = $buffers->trimAll(); if ($buffers->startsWith(MULTICONFIG_START) && $buffers->endsWith(MULTICONFIG_END)) { $i = $buffers->indexOf(':') + 1; $configname = $buffers->substring($i, $buffers->length() - 1); $conf = new Hashtable(); } } $buffers = new StringBuffer(); } else { $buffers->append($c); } } if ($buffers->length() > 0) { $key_separator_pos = $buffers->indexOf('='); if ($key_separator_pos > 0) { $key = $buffers->substring(0, $key_separator_pos); $key = $key->trimAll(); $value = $buffers->substring($key_separator_pos + 1); $value = $value->trimAll(); if ($key->length() > 0 && $value->length() > 0) { $conf->put($key->toString(), $value->toString()); } } } if (isset($conf) && $conf->size() > 0) { $this->put($configname, $conf); } } }