Sophie

Sophie

distrib > Fedora > 16 > x86_64 > by-pkgid > ef445f0ce4be1c28e0c51502e9156d24 > files > 261

log4cxx-devel-0.10.0-10.fc15.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Apache log4cxx: RollingFileAppender Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.3 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Apache log4cxx&#160;<span id="projectnumber">Version 0.10.0</span></div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('classlog4cxx_1_1_rolling_file_appender.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<h1>RollingFileAppender Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="log4cxx::RollingFileAppender" --><!-- doxytag: inherits="log4cxx::rolling::RollingFileAppenderSkeleton" -->
<p><a class="el" href="classlog4cxx_1_1_rolling_file_appender.html" title="RollingFileAppender extends FileAppender to backup the log files when they reach a certain size...">RollingFileAppender</a> extends <a class="el" href="classlog4cxx_1_1_file_appender.html" title="FileAppender appends log events to a file.">FileAppender</a> to backup the log files when they reach a certain size.  
<a href="#_details">More...</a></p>

<p>Inherits <a class="el" href="classlog4cxx_1_1rolling_1_1_rolling_file_appender_skeleton.html">log4cxx::rolling::RollingFileAppenderSkeleton</a>.</p>

<p><a href="classlog4cxx_1_1_rolling_file_appender-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_rolling_file_appender.html#a7ff2336642ee72e003ad17ae21111b2a">RollingFileAppender</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The default constructor simply calls its <a class="el" href="classlog4cxx_1_1_file_appender.html#a3d8fe210d6211cccc14aa2363753cffd">parents constructor</a>.  <a href="#a7ff2336642ee72e003ad17ae21111b2a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_rolling_file_appender.html#aa2e7128438e707a5cd3f52cc890eb9d0">RollingFileAppender</a> (const <a class="el" href="classlog4cxx_1_1helpers_1_1_object_ptr_t.html">LayoutPtr</a> &amp;<a class="el" href="classlog4cxx_1_1_appender_skeleton.html#af1f4e6a2229d95a18324c4e7fa71be65">layout</a>, const <a class="el" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;<a class="el" href="classlog4cxx_1_1_file_appender.html#a017826792cfaa215e4ae83bb3aef2681">fileName</a>, bool append)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Instantiate a <a class="el" href="classlog4cxx_1_1_rolling_file_appender.html" title="RollingFileAppender extends FileAppender to backup the log files when they reach a certain size...">RollingFileAppender</a> and open the file designated by <code>filename</code>.  <a href="#aa2e7128438e707a5cd3f52cc890eb9d0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_rolling_file_appender.html#aaa4fbd8399299198e158f83e8e7ef9d8">RollingFileAppender</a> (const <a class="el" href="classlog4cxx_1_1helpers_1_1_object_ptr_t.html">LayoutPtr</a> &amp;<a class="el" href="classlog4cxx_1_1_appender_skeleton.html#af1f4e6a2229d95a18324c4e7fa71be65">layout</a>, const <a class="el" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;<a class="el" href="classlog4cxx_1_1_file_appender.html#a017826792cfaa215e4ae83bb3aef2681">fileName</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Instantiate a <a class="el" href="classlog4cxx_1_1_file_appender.html" title="FileAppender appends log events to a file.">FileAppender</a> and open the file designated by <code>filename</code>.  <a href="#aaa4fbd8399299198e158f83e8e7ef9d8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_rolling_file_appender.html#af91b48ed533d50489683422d1d5dde74">~RollingFileAppender</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_rolling_file_appender.html#a85daa9ec83daf40b57563fa715cc9bec">getMaxBackupIndex</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the value of the <b>MaxBackupIndex</b> option.  <a href="#a85daa9ec83daf40b57563fa715cc9bec"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_rolling_file_appender.html#a8803ec00f121186668bacae35f0d378e">getMaximumFileSize</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the maximum size that the output file is allowed to reach before being rolled over to backup files.  <a href="#a8803ec00f121186668bacae35f0d378e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_rolling_file_appender.html#aae5aa2bc134f65cb35b7e33943232ab6">setMaxBackupIndex</a> (int maxBackupIndex)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the maximum number of backup files to keep around.  <a href="#aae5aa2bc134f65cb35b7e33943232ab6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_rolling_file_appender.html#a811555c3606286c2f0497927d0a6b118">setMaxFileSize</a> (const <a class="el" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the maximum size that the output file is allowed to reach before being rolled over to backup files.  <a href="#a811555c3606286c2f0497927d0a6b118"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_rolling_file_appender.html#ae01f341f61eae0cdc146c44618e17faf">setMaximumFileSize</a> (int value)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_rolling_file_appender.html#aee5023c29cca9dc68164b22a01cb7c6e">setOption</a> (const <a class="el" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;option, const <a class="el" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set <code>option</code> to <code>value</code>.  <a href="#aee5023c29cca9dc68164b22a01cb7c6e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1_rolling_file_appender.html#a75035ac63aad24ddcbb340ddaba57f1c">activateOptions</a> (<a class="el" href="classlog4cxx_1_1helpers_1_1_pool.html">log4cxx::helpers::Pool</a> &amp;<a class="el" href="classlog4cxx_1_1_appender_skeleton.html#a6c72571775abf91a74fade4e2c2b9af8">pool</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Prepares <a class="el" href="classlog4cxx_1_1_rolling_file_appender.html" title="RollingFileAppender extends FileAppender to backup the log files when they reach a certain size...">RollingFileAppender</a> for use.  <a href="#a75035ac63aad24ddcbb340ddaba57f1c"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<div class="textblock"><p><a class="el" href="classlog4cxx_1_1_rolling_file_appender.html" title="RollingFileAppender extends FileAppender to backup the log files when they reach a certain size...">RollingFileAppender</a> extends <a class="el" href="classlog4cxx_1_1_file_appender.html" title="FileAppender appends log events to a file.">FileAppender</a> to backup the log files when they reach a certain size. </p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a7ff2336642ee72e003ad17ae21111b2a"></a><!-- doxytag: member="log4cxx::RollingFileAppender::RollingFileAppender" ref="a7ff2336642ee72e003ad17ae21111b2a" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classlog4cxx_1_1_rolling_file_appender.html">RollingFileAppender</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The default constructor simply calls its <a class="el" href="classlog4cxx_1_1_file_appender.html#a3d8fe210d6211cccc14aa2363753cffd">parents constructor</a>. </p>

</div>
</div>
<a class="anchor" id="aa2e7128438e707a5cd3f52cc890eb9d0"></a><!-- doxytag: member="log4cxx::RollingFileAppender::RollingFileAppender" ref="aa2e7128438e707a5cd3f52cc890eb9d0" args="(const LayoutPtr &amp;layout, const LogString &amp;fileName, bool append)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classlog4cxx_1_1_rolling_file_appender.html">RollingFileAppender</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classlog4cxx_1_1helpers_1_1_object_ptr_t.html">LayoutPtr</a> &amp;&#160;</td>
          <td class="paramname"><em>layout</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;&#160;</td>
          <td class="paramname"><em>fileName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>append</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Instantiate a <a class="el" href="classlog4cxx_1_1_rolling_file_appender.html" title="RollingFileAppender extends FileAppender to backup the log files when they reach a certain size...">RollingFileAppender</a> and open the file designated by <code>filename</code>. </p>
<p>The opened filename will become the ouput destination for this appender.</p>
<p>If the <code>append</code> parameter is true, the file will be appended to. Otherwise, the file desginated by <code>filename</code> will be truncated before being opened. </p>

</div>
</div>
<a class="anchor" id="aaa4fbd8399299198e158f83e8e7ef9d8"></a><!-- doxytag: member="log4cxx::RollingFileAppender::RollingFileAppender" ref="aaa4fbd8399299198e158f83e8e7ef9d8" args="(const LayoutPtr &amp;layout, const LogString &amp;fileName)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classlog4cxx_1_1_rolling_file_appender.html">RollingFileAppender</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classlog4cxx_1_1helpers_1_1_object_ptr_t.html">LayoutPtr</a> &amp;&#160;</td>
          <td class="paramname"><em>layout</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;&#160;</td>
          <td class="paramname"><em>fileName</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Instantiate a <a class="el" href="classlog4cxx_1_1_file_appender.html" title="FileAppender appends log events to a file.">FileAppender</a> and open the file designated by <code>filename</code>. </p>
<p>The opened filename will become the output destination for this appender. </p>
<p>The file will be appended to. </p>

</div>
</div>
<a class="anchor" id="af91b48ed533d50489683422d1d5dde74"></a><!-- doxytag: member="log4cxx::RollingFileAppender::~RollingFileAppender" ref="af91b48ed533d50489683422d1d5dde74" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual ~<a class="el" href="classlog4cxx_1_1_rolling_file_appender.html">RollingFileAppender</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a75035ac63aad24ddcbb340ddaba57f1c"></a><!-- doxytag: member="log4cxx::RollingFileAppender::activateOptions" ref="a75035ac63aad24ddcbb340ddaba57f1c" args="(log4cxx::helpers::Pool &amp;pool)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void activateOptions </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classlog4cxx_1_1helpers_1_1_pool.html">log4cxx::helpers::Pool</a> &amp;&#160;</td>
          <td class="paramname"><em>pool</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Prepares <a class="el" href="classlog4cxx_1_1_rolling_file_appender.html" title="RollingFileAppender extends FileAppender to backup the log files when they reach a certain size...">RollingFileAppender</a> for use. </p>

<p>Reimplemented from <a class="el" href="classlog4cxx_1_1rolling_1_1_rolling_file_appender_skeleton.html#a580abdcb8fd42d07eaf679166f77bc34">RollingFileAppenderSkeleton</a>.</p>

</div>
</div>
<a class="anchor" id="a85daa9ec83daf40b57563fa715cc9bec"></a><!-- doxytag: member="log4cxx::RollingFileAppender::getMaxBackupIndex" ref="a85daa9ec83daf40b57563fa715cc9bec" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int getMaxBackupIndex </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the value of the <b>MaxBackupIndex</b> option. </p>

</div>
</div>
<a class="anchor" id="a8803ec00f121186668bacae35f0d378e"></a><!-- doxytag: member="log4cxx::RollingFileAppender::getMaximumFileSize" ref="a8803ec00f121186668bacae35f0d378e" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long getMaximumFileSize </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the maximum size that the output file is allowed to reach before being rolled over to backup files. </p>

</div>
</div>
<a class="anchor" id="aae5aa2bc134f65cb35b7e33943232ab6"></a><!-- doxytag: member="log4cxx::RollingFileAppender::setMaxBackupIndex" ref="aae5aa2bc134f65cb35b7e33943232ab6" args="(int maxBackupIndex)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setMaxBackupIndex </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>maxBackupIndex</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the maximum number of backup files to keep around. </p>
<p>The <b>MaxBackupIndex</b> option determines how many backup files are kept before the oldest is erased. This option takes a positive integer value. If set to zero, then there will be no backup files and the log file will be truncated when it reaches <code>MaxFileSize</code>. </p>

</div>
</div>
<a class="anchor" id="a811555c3606286c2f0497927d0a6b118"></a><!-- doxytag: member="log4cxx::RollingFileAppender::setMaxFileSize" ref="a811555c3606286c2f0497927d0a6b118" args="(const LogString &amp;value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setMaxFileSize </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the maximum size that the output file is allowed to reach before being rolled over to backup files. </p>
<p>In configuration files, the <b>MaxFileSize</b> option takes an long integer in the range 0 - 2^63. You can specify the value with the suffixes "KB", "MB" or "GB" so that the integer is interpreted being expressed respectively in kilobytes, megabytes or gigabytes. For example, the value "10KB" will be interpreted as 10240. </p>

</div>
</div>
<a class="anchor" id="ae01f341f61eae0cdc146c44618e17faf"></a><!-- doxytag: member="log4cxx::RollingFileAppender::setMaximumFileSize" ref="ae01f341f61eae0cdc146c44618e17faf" args="(int value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setMaximumFileSize </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="aee5023c29cca9dc68164b22a01cb7c6e"></a><!-- doxytag: member="log4cxx::RollingFileAppender::setOption" ref="aee5023c29cca9dc68164b22a01cb7c6e" args="(const LogString &amp;option, const LogString &amp;value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void setOption </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;&#160;</td>
          <td class="paramname"><em>option</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="namespacelog4cxx.html#ad7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set <code>option</code> to <code>value</code>. </p>
<p>The handling of each option depends on the OptionHandler instance. Some options may become active immediately whereas other may be activated only when <a class="el" href="classlog4cxx_1_1_rolling_file_appender.html#a75035ac63aad24ddcbb340ddaba57f1c" title="Prepares RollingFileAppender for use.">activateOptions</a> is called. </p>

<p>Reimplemented from <a class="el" href="classlog4cxx_1_1_file_appender.html#ac1d269357907e0809687a2bec962e1c8">FileAppender</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="rollingfileappender_8h.html">rollingfileappender.h</a></li>
</ul>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespacelog4cxx.html">log4cxx</a>      </li>
      <li class="navelem"><a class="el" href="classlog4cxx_1_1_rolling_file_appender.html">RollingFileAppender</a>      </li>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements.  See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
    </BODY>
</HTML>