<html>
<head>
<title>
log4cxx - Documentation
</title>
<link href="../css/doxygen.css" rel="stylesheet" type="text/css"/>
</head>

<body bgcolor="#ffffff" text="#000000" link="#525D76">        
<!-- START Header table --> 
<table border="0" cellspacing="0" width="90%">
<!-- TOP IMAGE -->
<tr>
<td colspan="2">
<a href="http://logging.apache.org">
<img src="http://logging.apache.org/images/ls-logo.jpg" align="left" border="0"/>
</a>
</td>

</tr>
</table>
<!-- END Header table --> 

           <!-- START main table --> 
            <table id="main" border="0" width="90%" cellspacing="2" cellpadding="0">
                <tr><td colspan="2">
                    <hr noshade="" size="1"/>
                </td></tr>
                
                <tr>
                    <!-- LEFT SIDE NAVIGATION -->
                    <td id="navbar" valign="top">
                      <!-- ============================================================ -->
  <table id="navbar" border="0" cellspacing="0" cellpadding="0">
                      <tr >
       	 <td class="navbarHeader" nowrap="true">
           <strong>Apache</strong>
         </td>
       </tr>
              	 <tr><td class="navbarItem"><small>    <a href="http://www.apache.org">Apache Home</a>
</small></td></tr>
              	 <tr><td class="navbarItem"><small>    <a href="http://logging.apache.org/">Logging Services</a>
</small></td></tr>
                                <tr >
       	 <td class="navbarHeader" nowrap="true">
           <strong>log4cxx project</strong>
         </td>
       </tr>
              	 <tr><td class="navbarItem"><small>    <a href="../index.html">About</a>
</small></td></tr>
              	 <tr><td class="navbarItem"><small>    <a href="../news.html">News</a>
</small></td></tr>
              	 <tr><td class="navbarItem"><small>    <a href="../team.html">Team</a>
</small></td></tr>
              	 <tr><td class="navbarItem"><small>    <a href="../manual/index.html">Documentation</a>
</small></td></tr>
              	 <tr><td class="navbarItem"><small>    <a href="../performance.html">Performance</a>
</small></td></tr>
              	 <tr><td class="navbarItem"><small>    <a href="../download.html">Download</a>
</small></td></tr>
             </table> 
   
                    </td>
                    <td id="mainContents" align="left" valign="top">
<hr>
<!-- Generated by Doxygen 1.3.5 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
<h1>ResourceBundle Class Reference</h1>Inheritance diagram for ResourceBundle:<p><center><img src="classlog4cxx_1_1helpers_1_1ResourceBundle__inherit__graph.png" border="0" usemap="#ResourceBundle__inherit__map" alt="Inheritance graph"></center>
<map name="ResourceBundle__inherit__map">
<area href="classlog4cxx_1_1helpers_1_1PropertyResourceBundle.html" shape="rect" coords="6,242,164,266" alt="">
<area href="classlog4cxx_1_1helpers_1_1ObjectImpl.html" shape="rect" coords="48,93,122,117" alt="">
<area href="classlog4cxx_1_1helpers_1_1Object.html" shape="rect" coords="60,19,110,43" alt="">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for ResourceBundle:<p><center><img src="classlog4cxx_1_1helpers_1_1ResourceBundle__coll__graph.png" border="0" usemap="#ResourceBundle__coll__map" alt="Collaboration graph"></center>
<map name="ResourceBundle__coll__map">
<area href="classlog4cxx_1_1helpers_1_1ObjectImpl.html" shape="rect" coords="6,96,81,120" alt="">
<area href="classlog4cxx_1_1helpers_1_1Object.html" shape="rect" coords="18,19,69,43" alt="">
<area href="classlog4cxx_1_1helpers_1_1ObjectPtrT.html" shape="rect" coords="105,96,177,120" alt="">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classlog4cxx_1_1helpers_1_1ResourceBundle-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>virtual String&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classlog4cxx_1_1helpers_1_1ResourceBundle.html#a0">getString</a> (const String &amp;key) const=0</td></tr>

<tr><td colspan=2><br><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classlog4cxx_1_1helpers_1_1ObjectPtrT.html">ResourceBundlePtr</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classlog4cxx_1_1helpers_1_1ResourceBundle.html#e0">getBundle</a> (const String &amp;baseName, const Locale &amp;locale)</td></tr>

<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classlog4cxx_1_1helpers_1_1ObjectPtrT.html">ResourceBundlePtr</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classlog4cxx_1_1helpers_1_1ResourceBundle.html#p0">parent</a></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Resource bundles contain locale-specific objects
<p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="e0" doxytag="log4cxx::helpers::ResourceBundle::getBundle" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="classlog4cxx_1_1helpers_1_1ObjectPtrT.html">ResourceBundlePtr</a> getBundle </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const String &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>baseName</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const Locale &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>locale</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Gets a resource bundle using the specified base name and locale<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>baseName</em>&nbsp;</td><td>the base name of the resource bundle, a fully qualified class name or property filename </td></tr>
    <tr><td valign=top><em>locale</em>&nbsp;</td><td>the locale for which a resource bundle is desired</td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a0" doxytag="log4cxx::helpers::ResourceBundle::getString" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> virtual String getString </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const String &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>key</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap> const<code> [pure virtual]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Gets a string for the given key from this resource bundle or one of its parents. Calling this method is equivalent to calling<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>key</em>&nbsp;</td><td>the key for the desired string </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>the string for the given key </dd></dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>MissingResourceException</em>&nbsp;</td><td>- if no object for the given key can be found</td></tr>
  </table>
</dl>

<p>
Implemented in <a class="el" href="classlog4cxx_1_1helpers_1_1PropertyResourceBundle.html#a1">PropertyResourceBundle</a>.    </td>
  </tr>
</table>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="p0" doxytag="log4cxx::helpers::ResourceBundle::parent" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="classlog4cxx_1_1helpers_1_1ObjectPtrT.html">ResourceBundlePtr</a> <a class="el" href="classlog4cxx_1_1helpers_1_1ResourceBundle.html#p0">parent</a><code> [protected]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
The parent bundle of this bundle.<p>
The parent bundle is searched by <a class="el" href="classlog4cxx_1_1helpers_1_1ResourceBundle.html#a0">getString</a> when this bundle does not contain a particular resource.    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li>resourcebundle.h<li>resourcebundle.cpp</ul>
                                                
                    </td>
                </tr>
             
                <!-- FOOTER -->
                <tr><td colspan="2">
                    <hr noshade="" size="1"/>
                </td></tr>
                <tr><td colspan="2">
                    <div align="center"><font color="#525D76" size="-1"><em>
                    Copyright &#169; 1999-2004, Apache Software Foundation
                    </em></font></div>
                </td></tr>
            </table>
           <!-- END main table --> 
        </body>
    </html>
<!-- end the processing -->
