<!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" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<title>XMLFileHandler xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/chainsaw/XMLFileHandler.html">View Javadoc</a></div><pre>

<a name="1" href="#1">1</a>   <em class="jxr_comment">/*</em>
<a name="2" href="#2">2</a>   <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em>
<a name="3" href="#3">3</a>   <em class="jxr_comment"> * contributor license agreements.  See the NOTICE file distributed with</em>
<a name="4" href="#4">4</a>   <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em>
<a name="5" href="#5">5</a>   <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em>
<a name="6" href="#6">6</a>   <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em>
<a name="7" href="#7">7</a>   <em class="jxr_comment"> * the License.  You may obtain a copy of the License at</em>
<a name="8" href="#8">8</a>   <em class="jxr_comment"> * </em>
<a name="9" href="#9">9</a>   <em class="jxr_comment"> *      <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a name="10" href="#10">10</a>  <em class="jxr_comment"> * </em>
<a name="11" href="#11">11</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em>
<a name="12" href="#12">12</a>  <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em>
<a name="13" href="#13">13</a>  <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a name="14" href="#14">14</a>  <em class="jxr_comment"> * See the License for the specific language governing permissions and</em>
<a name="15" href="#15">15</a>  <em class="jxr_comment"> * limitations under the License.</em>
<a name="16" href="#16">16</a>  <em class="jxr_comment"> */</em>
<a name="17" href="#17">17</a>  <strong class="jxr_keyword">package</strong> org.apache.log4j.chainsaw;
<a name="18" href="#18">18</a>  
<a name="19" href="#19">19</a>  <strong class="jxr_keyword">import</strong> java.util.StringTokenizer;
<a name="20" href="#20">20</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.Level;
<a name="21" href="#21">21</a>  <strong class="jxr_keyword">import</strong> org.xml.sax.Attributes;
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> org.xml.sax.SAXException;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> org.xml.sax.helpers.DefaultHandler;
<a name="24" href="#24">24</a>  
<a name="25" href="#25">25</a>  <em class="jxr_javadoccomment">/**</em>
<a name="26" href="#26">26</a>  <em class="jxr_javadoccomment"> * A content handler for document containing Log4J events logged using the</em>
<a name="27" href="#27">27</a>  <em class="jxr_javadoccomment"> * XMLLayout class. It will create events and add them to a supplied model.</em>
<a name="28" href="#28">28</a>  <em class="jxr_javadoccomment"> *</em>
<a name="29" href="#29">29</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="mailto:oliver@puppycrawl.com" target="alexandria_uri">mailto:oliver@puppycrawl.com</a>"&gt;Oliver Burn&lt;/a&gt;</em>
<a name="30" href="#30">30</a>  <em class="jxr_javadoccomment"> * @version 1.0</em>
<a name="31" href="#31">31</a>  <em class="jxr_javadoccomment"> */</em>
<a name="32" href="#32">32</a>  <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/chainsaw/XMLFileHandler.html">XMLFileHandler</a>
<a name="33" href="#33">33</a>      <strong class="jxr_keyword">extends</strong> DefaultHandler
<a name="34" href="#34">34</a>  {
<a name="35" href="#35">35</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> represents the event tag **/</em>
<a name="36" href="#36">36</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String TAG_EVENT = <span class="jxr_string">"log4j:event"</span>;
<a name="37" href="#37">37</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> represents the message tag **/</em>
<a name="38" href="#38">38</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String TAG_MESSAGE = <span class="jxr_string">"log4j:message"</span>;
<a name="39" href="#39">39</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> represents the ndc tag **/</em>
<a name="40" href="#40">40</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String TAG_NDC = <span class="jxr_string">"log4j:NDC"</span>;
<a name="41" href="#41">41</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> represents the throwable tag **/</em>
<a name="42" href="#42">42</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String TAG_THROWABLE = <span class="jxr_string">"log4j:throwable"</span>;
<a name="43" href="#43">43</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> represents the location info tag **/</em>
<a name="44" href="#44">44</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String TAG_LOCATION_INFO = <span class="jxr_string">"log4j:locationInfo"</span>;
<a name="45" href="#45">45</a>  
<a name="46" href="#46">46</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> where to put the events **/</em>
<a name="47" href="#47">47</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/log4j/chainsaw/MyTableModel.html">MyTableModel</a> mModel;
<a name="48" href="#48">48</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> the number of events in the document **/</em>
<a name="49" href="#49">49</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> mNumEvents;
<a name="50" href="#50">50</a>  
<a name="51" href="#51">51</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> the time of the event **/</em>
<a name="52" href="#52">52</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> mTimeStamp;
<a name="53" href="#53">53</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> the priority (level) of the event **/</em>
<a name="54" href="#54">54</a>      <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/log4j/Level.html">Level</a> mLevel;
<a name="55" href="#55">55</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> the category of the event **/</em>
<a name="56" href="#56">56</a>      <strong class="jxr_keyword">private</strong> String mCategoryName;
<a name="57" href="#57">57</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> the <a href="../../../../org/apache/log4j/NDC.html">NDC</a> for the event **/</em>
<a name="58" href="#58">58</a>      <strong class="jxr_keyword">private</strong> String mNDC;
<a name="59" href="#59">59</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> the thread for the event **/</em>
<a name="60" href="#60">60</a>      <strong class="jxr_keyword">private</strong> String mThreadName;
<a name="61" href="#61">61</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> the msg for the event **/</em>
<a name="62" href="#62">62</a>      <strong class="jxr_keyword">private</strong> String mMessage;
<a name="63" href="#63">63</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> the throwable details the event **/</em>
<a name="64" href="#64">64</a>      <strong class="jxr_keyword">private</strong> String[] mThrowableStrRep;
<a name="65" href="#65">65</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> the location details for the event **/</em>
<a name="66" href="#66">66</a>      <strong class="jxr_keyword">private</strong> String mLocationDetails;
<a name="67" href="#67">67</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> buffer for collecting text **/</em>
<a name="68" href="#68">68</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> StringBuffer mBuf = <strong class="jxr_keyword">new</strong> StringBuffer();
<a name="69" href="#69">69</a>  
<a name="70" href="#70">70</a>      <em class="jxr_javadoccomment">/**</em>
<a name="71" href="#71">71</a>  <em class="jxr_javadoccomment">     * Creates a new &lt;code&gt;XMLFileHandler&lt;/code&gt; instance.</em>
<a name="72" href="#72">72</a>  <em class="jxr_javadoccomment">     *</em>
<a name="73" href="#73">73</a>  <em class="jxr_javadoccomment">     * @param aModel where to add the events</em>
<a name="74" href="#74">74</a>  <em class="jxr_javadoccomment">     */</em>
<a name="75" href="#75">75</a>      <a href="../../../../org/apache/log4j/chainsaw/XMLFileHandler.html">XMLFileHandler</a>(<a href="../../../../org/apache/log4j/chainsaw/MyTableModel.html">MyTableModel</a> aModel) {
<a name="76" href="#76">76</a>          mModel = aModel;
<a name="77" href="#77">77</a>      }
<a name="78" href="#78">78</a>  
<a name="79" href="#79">79</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> @see DefaultHandler **/</em>
<a name="80" href="#80">80</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> startDocument()
<a name="81" href="#81">81</a>          <strong class="jxr_keyword">throws</strong> SAXException
<a name="82" href="#82">82</a>      {
<a name="83" href="#83">83</a>          mNumEvents = 0;
<a name="84" href="#84">84</a>      }
<a name="85" href="#85">85</a>  
<a name="86" href="#86">86</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> @see DefaultHandler **/</em>
<a name="87" href="#87">87</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> characters(<strong class="jxr_keyword">char</strong>[] aChars, <strong class="jxr_keyword">int</strong> aStart, <strong class="jxr_keyword">int</strong> aLength) {
<a name="88" href="#88">88</a>          mBuf.append(String.valueOf(aChars, aStart, aLength));
<a name="89" href="#89">89</a>      }
<a name="90" href="#90">90</a>  
<a name="91" href="#91">91</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> @see DefaultHandler **/</em>
<a name="92" href="#92">92</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> endElement(String aNamespaceURI,
<a name="93" href="#93">93</a>                             String aLocalName,
<a name="94" href="#94">94</a>                             String aQName)
<a name="95" href="#95">95</a>      {
<a name="96" href="#96">96</a>          <strong class="jxr_keyword">if</strong> (TAG_EVENT.equals(aQName)) {
<a name="97" href="#97">97</a>              addEvent();
<a name="98" href="#98">98</a>              resetData();
<a name="99" href="#99">99</a>          } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (TAG_NDC.equals(aQName)) {
<a name="100" href="#100">100</a>             mNDC = mBuf.toString();
<a name="101" href="#101">101</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (TAG_MESSAGE.equals(aQName)) {
<a name="102" href="#102">102</a>             mMessage = mBuf.toString();
<a name="103" href="#103">103</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (TAG_THROWABLE.equals(aQName)) {
<a name="104" href="#104">104</a>             <strong class="jxr_keyword">final</strong> StringTokenizer st =
<a name="105" href="#105">105</a>                 <strong class="jxr_keyword">new</strong> StringTokenizer(mBuf.toString(), <span class="jxr_string">"\n\t"</span>);
<a name="106" href="#106">106</a>             mThrowableStrRep = <strong class="jxr_keyword">new</strong> String[st.countTokens()];
<a name="107" href="#107">107</a>             <strong class="jxr_keyword">if</strong> (mThrowableStrRep.length &gt; 0) {
<a name="108" href="#108">108</a>                 mThrowableStrRep[0] = st.nextToken();
<a name="109" href="#109">109</a>                 <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 1; i &lt; mThrowableStrRep.length; i++) {
<a name="110" href="#110">110</a>                     mThrowableStrRep[i] = <span class="jxr_string">"\t"</span> + st.nextToken();
<a name="111" href="#111">111</a>                 }
<a name="112" href="#112">112</a>             }
<a name="113" href="#113">113</a>         }
<a name="114" href="#114">114</a>     }
<a name="115" href="#115">115</a> 
<a name="116" href="#116">116</a>     <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> @see DefaultHandler **/</em>
<a name="117" href="#117">117</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> startElement(String aNamespaceURI,
<a name="118" href="#118">118</a>                              String aLocalName,
<a name="119" href="#119">119</a>                              String aQName,
<a name="120" href="#120">120</a>                              Attributes aAtts)
<a name="121" href="#121">121</a>     {
<a name="122" href="#122">122</a>         mBuf.setLength(0);
<a name="123" href="#123">123</a> 
<a name="124" href="#124">124</a>         <strong class="jxr_keyword">if</strong> (TAG_EVENT.equals(aQName)) {
<a name="125" href="#125">125</a>             mThreadName = aAtts.getValue(<span class="jxr_string">"thread"</span>);
<a name="126" href="#126">126</a>             mTimeStamp = Long.parseLong(aAtts.getValue(<span class="jxr_string">"timestamp"</span>));
<a name="127" href="#127">127</a>             mCategoryName = aAtts.getValue(<span class="jxr_string">"logger"</span>);
<a name="128" href="#128">128</a>             mLevel = Level.toLevel(aAtts.getValue(<span class="jxr_string">"level"</span>));
<a name="129" href="#129">129</a>         } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (TAG_LOCATION_INFO.equals(aQName)) {
<a name="130" href="#130">130</a>             mLocationDetails = aAtts.getValue(<span class="jxr_string">"class"</span>) + <span class="jxr_string">"."</span>
<a name="131" href="#131">131</a>                 + aAtts.getValue(<span class="jxr_string">"method"</span>)
<a name="132" href="#132">132</a>                 + <span class="jxr_string">"("</span> + aAtts.getValue(<span class="jxr_string">"file"</span>) + <span class="jxr_string">":"</span> + aAtts.getValue(<span class="jxr_string">"line"</span>)
<a name="133" href="#133">133</a>                 + <span class="jxr_string">")"</span>;
<a name="134" href="#134">134</a>         }
<a name="135" href="#135">135</a>     }
<a name="136" href="#136">136</a> 
<a name="137" href="#137">137</a>     <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> @return the number of events in the document **/</em>
<a name="138" href="#138">138</a>     <strong class="jxr_keyword">int</strong> getNumEvents() {
<a name="139" href="#139">139</a>         <strong class="jxr_keyword">return</strong> mNumEvents;
<a name="140" href="#140">140</a>     }
<a name="141" href="#141">141</a> 
<a name="142" href="#142">142</a>     <em class="jxr_comment">////////////////////////////////////////////////////////////////////////////</em>
<a name="143" href="#143">143</a>     <em class="jxr_comment">// Private methods</em>
<a name="144" href="#144">144</a>     <em class="jxr_comment">////////////////////////////////////////////////////////////////////////////</em>
<a name="145" href="#145">145</a> 
<a name="146" href="#146">146</a>     <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Add an event to the model **/</em>
<a name="147" href="#147">147</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> addEvent() {
<a name="148" href="#148">148</a>         mModel.addEvent(<strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/log4j/chainsaw/EventDetails.html">EventDetails</a>(mTimeStamp,
<a name="149" href="#149">149</a>                                          mLevel,
<a name="150" href="#150">150</a>                                          mCategoryName,
<a name="151" href="#151">151</a>                                          mNDC,
<a name="152" href="#152">152</a>                                          mThreadName,
<a name="153" href="#153">153</a>                                          mMessage,
<a name="154" href="#154">154</a>                                          mThrowableStrRep,
<a name="155" href="#155">155</a>                                          mLocationDetails));
<a name="156" href="#156">156</a>         mNumEvents++;
<a name="157" href="#157">157</a>     }
<a name="158" href="#158">158</a> 
<a name="159" href="#159">159</a>     <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Reset the data for an event **/</em>
<a name="160" href="#160">160</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> resetData() {
<a name="161" href="#161">161</a>         mTimeStamp = 0;
<a name="162" href="#162">162</a>         mLevel = <strong class="jxr_keyword">null</strong>;
<a name="163" href="#163">163</a>         mCategoryName = <strong class="jxr_keyword">null</strong>;
<a name="164" href="#164">164</a>         mNDC = <strong class="jxr_keyword">null</strong>;
<a name="165" href="#165">165</a>         mThreadName = <strong class="jxr_keyword">null</strong>;
<a name="166" href="#166">166</a>         mMessage = <strong class="jxr_keyword">null</strong>;
<a name="167" href="#167">167</a>         mThrowableStrRep = <strong class="jxr_keyword">null</strong>;
<a name="168" href="#168">168</a>         mLocationDetails = <strong class="jxr_keyword">null</strong>;
<a name="169" href="#169">169</a>     }
<a name="170" href="#170">170</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

