<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!--

 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.

--><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Apache log4cxx: FilterBasedTriggeringPolicy Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.6 -->
<div class="tabs">
  <ul>
    <li><a href="main.html"><span>Main&nbsp;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 id="current"><a href="classes.html"><span>Classes</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
  </ul></div>
<div class="tabs">
  <ul>
    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul></div>
<div class="nav">
<a class="el" href="namespacelog4cxx.html">log4cxx</a>::<a class="el" href="namespacelog4cxx_1_1rolling.html">rolling</a>::<a class="el" href="classlog4cxx_1_1rolling_1_1_filter_based_triggering_policy.html">FilterBasedTriggeringPolicy</a></div>
<h1>FilterBasedTriggeringPolicy Class Reference</h1><!-- doxytag: class="log4cxx::rolling::FilterBasedTriggeringPolicy" --><!-- doxytag: inherits="log4cxx::rolling::TriggeringPolicy" -->Inherits <a class="el" href="classlog4cxx_1_1rolling_1_1_triggering_policy.html">TriggeringPolicy</a>.
<p>
<a href="classlog4cxx_1_1rolling_1_1_filter_based_triggering_policy-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
<a class="el" href="classlog4cxx_1_1rolling_1_1_filter_based_triggering_policy.html">FilterBasedTriggeringPolicy</a> determines if rolling should be triggered by evaluating the current message against a set of filters. 
<p>
Unless a filter rejects a message, a rolling event will be triggered. 
<p>
<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">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1rolling_1_1_filter_based_triggering_policy.html#af3e77de832f2ef5db4e68de40a920b9">FilterBasedTriggeringPolicy</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new <a class="el" href="classlog4cxx_1_1rolling_1_1_filter_based_triggering_policy.html">FilterBasedTriggeringPolicy</a>.  <a href="#af3e77de832f2ef5db4e68de40a920b9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1rolling_1_1_filter_based_triggering_policy.html#9a4408e6bd6cd33ca593973320d837be">~FilterBasedTriggeringPolicy</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1rolling_1_1_filter_based_triggering_policy.html#d1465d1456055bf68fc9c3a7416bb862">isTriggeringEvent</a> (<a class="el" href="classlog4cxx_1_1_appender.html">Appender</a> *appender, const <a class="el" href="classlog4cxx_1_1helpers_1_1_object_ptr_t.html">log4cxx::spi::LoggingEventPtr</a> &amp;event, const <a class="el" href="namespacelog4cxx.html#d7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;filename, size_t fileLength)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determines if a rollover may be appropriate at this time.  <a href="#d1465d1456055bf68fc9c3a7416bb862"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1rolling_1_1_filter_based_triggering_policy.html#da19905858e5b9a93c3d1be8eb2ddc1a">addFilter</a> (const <a class="el" href="classlog4cxx_1_1helpers_1_1_object_ptr_t.html">log4cxx::spi::FilterPtr</a> &amp;newFilter)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a filter to end of the filter list.  <a href="#da19905858e5b9a93c3d1be8eb2ddc1a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1rolling_1_1_filter_based_triggering_policy.html#f13013b8fd73be124730ec9f299c234d">clearFilters</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clear the filters chain.  <a href="#f13013b8fd73be124730ec9f299c234d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classlog4cxx_1_1helpers_1_1_object_ptr_t.html">log4cxx::spi::FilterPtr</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1rolling_1_1_filter_based_triggering_policy.html#6a90013a38556ee8d85664ec59fc7890">getFilter</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the head Filter.  <a href="#6a90013a38556ee8d85664ec59fc7890"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1rolling_1_1_filter_based_triggering_policy.html#580abdcb8fd42d07eaf679166f77bc34">activateOptions</a> (<a class="el" href="classlog4cxx_1_1helpers_1_1_pool.html">log4cxx::helpers::Pool</a> &amp;)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prepares the instance for use.  <a href="#580abdcb8fd42d07eaf679166f77bc34"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlog4cxx_1_1rolling_1_1_filter_based_triggering_policy.html#c1d269357907e0809687a2bec962e1c8">setOption</a> (const <a class="el" href="namespacelog4cxx.html#d7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;option, const <a class="el" href="namespacelog4cxx.html#d7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;value)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set <code>option</code> to <code>value</code>.  <a href="#c1d269357907e0809687a2bec962e1c8"></a><br></td></tr>
</table>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="af3e77de832f2ef5db4e68de40a920b9"></a><!-- doxytag: member="log4cxx::rolling::FilterBasedTriggeringPolicy::FilterBasedTriggeringPolicy" ref="af3e77de832f2ef5db4e68de40a920b9" args="()" --><p>
<table class="mdTable" 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_1rolling_1_1_filter_based_triggering_policy.html">FilterBasedTriggeringPolicy</a>           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Creates a new <a class="el" href="classlog4cxx_1_1rolling_1_1_filter_based_triggering_policy.html">FilterBasedTriggeringPolicy</a>. 
<p>
    </td>
  </tr>
</table>
<a class="anchor" name="9a4408e6bd6cd33ca593973320d837be"></a><!-- doxytag: member="log4cxx::rolling::FilterBasedTriggeringPolicy::~FilterBasedTriggeringPolicy" ref="9a4408e6bd6cd33ca593973320d837be" args="()" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">virtual ~<a class="el" href="classlog4cxx_1_1rolling_1_1_filter_based_triggering_policy.html">FilterBasedTriggeringPolicy</a>           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [virtual]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="580abdcb8fd42d07eaf679166f77bc34"></a><!-- doxytag: member="log4cxx::rolling::FilterBasedTriggeringPolicy::activateOptions" ref="580abdcb8fd42d07eaf679166f77bc34" args="(log4cxx::helpers::Pool &amp;)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">void activateOptions           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="classlog4cxx_1_1helpers_1_1_pool.html">log4cxx::helpers::Pool</a> &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap><code> [virtual]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Prepares the instance for use. 
<p>

<p>
Implements <a class="el" href="classlog4cxx_1_1spi_1_1_option_handler.html#f04d4bfbd66b46083b1aa042fdafbb06">OptionHandler</a>.    </td>
  </tr>
</table>
<a class="anchor" name="da19905858e5b9a93c3d1be8eb2ddc1a"></a><!-- doxytag: member="log4cxx::rolling::FilterBasedTriggeringPolicy::addFilter" ref="da19905858e5b9a93c3d1be8eb2ddc1a" args="(const log4cxx::spi::FilterPtr &amp;newFilter)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">void addFilter           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="classlog4cxx_1_1helpers_1_1_object_ptr_t.html">log4cxx::spi::FilterPtr</a> &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>newFilter</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Add a filter to end of the filter list. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>newFilter</em>&nbsp;</td><td>filter to add to end of list. </td></tr>
  </table>
</dl>
    </td>
  </tr>
</table>
<a class="anchor" name="f13013b8fd73be124730ec9f299c234d"></a><!-- doxytag: member="log4cxx::rolling::FilterBasedTriggeringPolicy::clearFilters" ref="f13013b8fd73be124730ec9f299c234d" args="()" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">void clearFilters           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Clear the filters chain. 
<p>
    </td>
  </tr>
</table>
<a class="anchor" name="6a90013a38556ee8d85664ec59fc7890"></a><!-- doxytag: member="log4cxx::rolling::FilterBasedTriggeringPolicy::getFilter" ref="6a90013a38556ee8d85664ec59fc7890" args="()" --><p>
<table class="mdTable" 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_1_object_ptr_t.html">log4cxx::spi::FilterPtr</a>&amp; getFilter           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the head Filter. 
<p>
    </td>
  </tr>
</table>
<a class="anchor" name="d1465d1456055bf68fc9c3a7416bb862"></a><!-- doxytag: member="log4cxx::rolling::FilterBasedTriggeringPolicy::isTriggeringEvent" ref="d1465d1456055bf68fc9c3a7416bb862" args="(Appender *appender, const log4cxx::spi::LoggingEventPtr &amp;event, const LogString &amp;filename, size_t fileLength)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">virtual bool isTriggeringEvent           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="classlog4cxx_1_1_appender.html">Appender</a> *&nbsp;</td>
          <td class="mdname" nowrap> <em>appender</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>const <a class="el" href="classlog4cxx_1_1helpers_1_1_object_ptr_t.html">log4cxx::spi::LoggingEventPtr</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>event</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>const <a class="el" href="namespacelog4cxx.html#d7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>filename</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>size_t&nbsp;</td>
          <td class="mdname" nowrap> <em>fileLength</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [virtual]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Determines if a rollover may be appropriate at this time. 
<p>
If true is returned, RolloverPolicy.rollover will be called but it can determine that a rollover is not warranted.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>appender</em>&nbsp;</td><td>A reference to the appender. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>event</em>&nbsp;</td><td>A reference to the currently event. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>The filename for the currently active log file. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>fileLength</em>&nbsp;</td><td>Length of the file in bytes. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>true if a rollover should occur. </dd></dl>

<p>
Implements <a class="el" href="classlog4cxx_1_1rolling_1_1_triggering_policy.html#a5300801d20e51d71952b221872458ec">TriggeringPolicy</a>.    </td>
  </tr>
</table>
<a class="anchor" name="c1d269357907e0809687a2bec962e1c8"></a><!-- doxytag: member="log4cxx::rolling::FilterBasedTriggeringPolicy::setOption" ref="c1d269357907e0809687a2bec962e1c8" args="(const LogString &amp;option, const LogString &amp;value)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">void setOption           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="namespacelog4cxx.html#d7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>option</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>const <a class="el" href="namespacelog4cxx.html#d7ec98d27bca7666e23f27dd1fb181c8">LogString</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>value</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [virtual]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set <code>option</code> to <code>value</code>. 
<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_1rolling_1_1_filter_based_triggering_policy.html#580abdcb8fd42d07eaf679166f77bc34">activateOptions</a> is called. 
<p>
Implements <a class="el" href="classlog4cxx_1_1spi_1_1_option_handler.html#8f2ae2ded63f80c627269c99b20c19ee">OptionHandler</a>.    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="filterbasedtriggeringpolicy_8h.html">filterbasedtriggeringpolicy.h</a></ul>
<!--
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>
