| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
| |
| <html lang="en"> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <title>LoggerReflectionUtils.php</title> |
| <link rel="stylesheet" type="text/css" href="style.css"> |
| <link rel="stylesheet" type="text/css" href="container.css"> |
| <script type="text/javascript" src="yahoo-dom-event.js"></script> |
| <script type="text/javascript" src="container-min.js"></script> |
| </head> |
| |
| <body class="yui-skin-sam"> |
| <table width="100%" border="0" cellspacing="0" cellpadding="0"> |
| <tr><td class="title">LoggerReflectionUtils.php</td></tr> |
| <tr><td class="ruler"><img src="glass.png" width="3" height="3" alt=""></td></tr> |
| |
| <tr> |
| <td width="100%"> |
| <table cellpadding="1" border="0" width="100%"> |
| <tr> |
| <td class="headerItem" width="20%">Current file:</td> |
| <td class="headerValue" width="80%"><a href="index.html">/home/ihabunek/apache/log4php/src/main/php</a>/<a href="LoggerReflectionUtils.php.html">LoggerReflectionUtils.php</a></td> |
| </tr> |
| <tr> |
| <td class="legendItem" width="20%">Legend:</td> |
| <td class="legendValue" width="80%"> |
| <span class="legendCov">executed</span> |
| <span class="legendNoCov">not executed</span> |
| <span class="legendDeadCode">dead code</span> |
| </td> |
| </tr> |
| </table> |
| </td> |
| </tr> |
| |
| <tr> |
| <td class="ruler"><img src="glass.png" width="3" height="3" alt=""></td> |
| </tr> |
| </table> |
| |
| <br /> |
| |
| <center> |
| <table width="90%" cellpadding="2" cellspacing="1" border="0"> |
| <tr> |
| <td class="tableHead" width="30%"> </td> |
| <td class="tableHead" colspan="10">Coverage</td> |
| </tr> |
| <tr> |
| <td class="tableHead"> </td> |
| <td class="tableHead" colspan="3">Classes</td> |
| <td class="tableHead" colspan="4">Functions / Methods</td> |
| <td class="tableHead" colspan="3">Lines</td> |
| </tr> |
| <tr> |
| <td class="coverDirectory">Total</td> |
| <td class="coverBar"> |
| <div class="coverBarOutline" title="0.00%"> |
| <div class="size scarlet_red" style="width:0%" title="0.00%"></div> |
| </div> |
| </td> |
| <td class="coverPerLo">0.00%</td> |
| <td class="coverNumLo">0 / 1</td> |
| <td class="coverBar"> |
| <div class="coverBarOutline" title="28.57%"> |
| <div class="size scarlet_red" style="width:28.571428571429%" title="28.57%"></div> |
| </div> |
| </td> |
| <td class="coverPerLo">28.57%</td> |
| <td class="coverNumLo">2 / 7</td> |
| <td class="crap"><acronym title="Change Risk Anti-Patterns (CRAP) Index">CRAP</acronym></td> |
| <td class="coverBar"> |
| <div class="coverBarOutline" title="67.57%"> |
| <div class="size butter" style="width:67.567567567568%" title="67.57%"></div> |
| </div> |
| </td> |
| <td class="coverPerMed">67.57%</td> |
| <td class="coverNumMed">25 / 37</td> |
| </tr> |
| |
| <tr> |
| <td class="coverDirectory">LoggerReflectionUtils</td> |
| <td class="coverBar"> |
| <div class="coverBarOutline" title="0.00%"> |
| <div class="size scarlet_red" style="width:0%" title="0.00%"></div> |
| </div> |
| </td> |
| <td class="coverPerLo">0.00%</td> |
| <td class="coverNumLo">0 / 1</td> |
| <td class="coverBar"> |
| <div class="coverBarOutline" title="28.57%"> |
| <div class="size scarlet_red" style="width:28.571428571429%" title="28.57%"></div> |
| </div> |
| </td> |
| <td class="coverPerLo">28.57%</td> |
| <td class="coverNumLo">2 / 7</td> |
| <td class="crap">29.05</td> |
| <td class="coverBar"> |
| <div class="coverBarOutline" title="67.57%"> |
| <div class="size butter" style="width:67.567567567568%" title="67.57%"></div> |
| </div> |
| </td> |
| <td class="coverPerMed">67.57%</td> |
| <td class="coverNumMed">25 / 37</td> |
| </tr> |
| |
| <tr> |
| <td class="coverFile" colspan="4"> <a href="#35">__construct($obj)</a></td> |
| <td class="coverBar"> |
| <div class="coverBarOutline" title="100.00%"> |
| <div class="size chameleon" style="width:100%" title="100.00%"></div> |
| </div> |
| </td> |
| <td class="coverPerHi">100.00%</td> |
| <td class="coverNumHi">1 / 1</td> |
| <td class="crap">1</td> |
| <td class="coverBar"> |
| <div class="coverBarOutline" title="100.00%"> |
| <div class="size chameleon" style="width:100%" title="100.00%"></div> |
| </div> |
| </td> |
| <td class="coverPerHi">100.00%</td> |
| <td class="coverNumHi">2 / 2</td> |
| </tr> |
| |
| <tr> |
| <td class="coverFile" colspan="4"> <a href="#49">setPropertiesByObject($obj, $properties, $prefix)</a></td> |
| <td class="coverBar"> |
| <div class="coverBarOutline" title="100.00%"> |
| <div class="size chameleon" style="width:100%" title="100.00%"></div> |
| </div> |
| </td> |
| <td class="coverPerHi">100.00%</td> |
| <td class="coverNumHi">1 / 1</td> |
| <td class="crap">1</td> |
| <td class="coverBar"> |
| <div class="coverBarOutline" title="100.00%"> |
| <div class="size chameleon" style="width:100%" title="100.00%"></div> |
| </div> |
| </td> |
| <td class="coverPerHi">100.00%</td> |
| <td class="coverNumHi">2 / 2</td> |
| </tr> |
| |
| <tr> |
| <td class="coverFile" colspan="4"> <a href="#69">setProperties($properties, $prefix)</a></td> |
| <td class="coverBar"> |
| <div class="coverBarOutline" title="0.00%"> |
| <div class="size scarlet_red" style="width:0%" title="0.00%"></div> |
| </div> |
| </td> |
| <td class="coverPerLo">0.00%</td> |
| <td class="coverNumLo">0 / 1</td> |
| <td class="crap">6.09</td> |
| <td class="coverBar"> |
| <div class="coverBarOutline" title="86.67%"> |
| <div class="size chameleon" style="width:86.666666666667%" title="86.67%"></div> |
| </div> |
| </td> |
| <td class="coverPerHi">86.67%</td> |
| <td class="coverNumHi">13 / 15</td> |
| </tr> |
| |
| <tr> |
| <td class="coverFile" colspan="4"> <a href="#103">setProperty($name, $value)</a></td> |
| <td class="coverBar"> |
| <div class="coverBarOutline" title="0.00%"> |
| <div class="size scarlet_red" style="width:0%" title="0.00%"></div> |
| </div> |
| </td> |
| <td class="coverPerLo">0.00%</td> |
| <td class="coverNumLo">0 / 1</td> |
| <td class="crap">3.33</td> |
| <td class="coverBar"> |
| <div class="coverBarOutline" title="66.67%"> |
| <div class="size butter" style="width:66.666666666667%" title="66.67%"></div> |
| </div> |
| </td> |
| <td class="coverPerMed">66.67%</td> |
| <td class="coverNumMed">4 / 6</td> |
| </tr> |
| |
| <tr> |
| <td class="coverFile" colspan="4"> <a href="#117">activate()</a></td> |
| <td class="coverBar"> |
| <div class="coverBarOutline" title="0.00%"> |
| <div class="size scarlet_red" style="width:0%" title="0.00%"></div> |
| </div> |
| </td> |
| <td class="coverPerLo">0.00%</td> |
| <td class="coverNumLo">0 / 1</td> |
| <td class="crap">2.15</td> |
| <td class="coverBar"> |
| <div class="coverBarOutline" title="66.67%"> |
| <div class="size butter" style="width:66.666666666667%" title="66.67%"></div> |
| </div> |
| </td> |
| <td class="coverPerMed">66.67%</td> |
| <td class="coverNumMed">2 / 3</td> |
| </tr> |
| |
| <tr> |
| <td class="coverFile" colspan="4"> <a href="#129">createObject($class)</a></td> |
| <td class="coverBar"> |
| <div class="coverBarOutline" title="0.00%"> |
| <div class="size scarlet_red" style="width:0%" title="0.00%"></div> |
| </div> |
| </td> |
| <td class="coverPerLo">0.00%</td> |
| <td class="coverNumLo">0 / 1</td> |
| <td class="crap">2.15</td> |
| <td class="coverBar"> |
| <div class="coverBarOutline" title="66.67%"> |
| <div class="size butter" style="width:66.666666666667%" title="66.67%"></div> |
| </div> |
| </td> |
| <td class="coverPerMed">66.67%</td> |
| <td class="coverNumMed">2 / 3</td> |
| </tr> |
| |
| <tr> |
| <td class="coverFile" colspan="4"> <a href="#141">setter($object, $name, $value)</a></td> |
| <td class="coverBar"> |
| <div class="coverBarOutline" title="0.00%"> |
| <div class="size scarlet_red" style="width:0%" title="0.00%"></div> |
| </div> |
| </td> |
| <td class="coverPerLo">0.00%</td> |
| <td class="coverNumLo">0 / 1</td> |
| <td class="crap">12</td> |
| <td class="coverBar"> |
| <div class="coverBarOutline" title="0.00%"> |
| <div class="size scarlet_red" style="width:0%" title="0.00%"></div> |
| </div> |
| </td> |
| <td class="coverPerLo">0.00%</td> |
| <td class="coverNumLo">0 / 6</td> |
| </tr> |
| |
| |
| </table> |
| </center> |
| |
| <br /> |
| |
| <table cellpadding="0" cellspacing="0" border="0"> |
| <tr> |
| <td><br /></td> |
| </tr> |
| <tr> |
| <td> |
| <pre class="source"> |
| <span class="lineNum" id="container1"><a name="1"></a><a href="#1" id="line1"> 1</a> </span> : <?php |
| <span class="lineNum" id="container2"><a name="2"></a><a href="#2" id="line2"> 2</a> </span> : /** |
| <span class="lineNum" id="container3"><a name="3"></a><a href="#3" id="line3"> 3</a> </span> : * Licensed to the Apache Software Foundation (ASF) under one or more |
| <span class="lineNum" id="container4"><a name="4"></a><a href="#4" id="line4"> 4</a> </span> : * contributor license agreements. See the NOTICE file distributed with |
| <span class="lineNum" id="container5"><a name="5"></a><a href="#5" id="line5"> 5</a> </span> : * this work for additional information regarding copyright ownership. |
| <span class="lineNum" id="container6"><a name="6"></a><a href="#6" id="line6"> 6</a> </span> : * The ASF licenses this file to You under the Apache License, Version 2.0 |
| <span class="lineNum" id="container7"><a name="7"></a><a href="#7" id="line7"> 7</a> </span> : * (the "License"); you may not use this file except in compliance with |
| <span class="lineNum" id="container8"><a name="8"></a><a href="#8" id="line8"> 8</a> </span> : * the License. You may obtain a copy of the License at |
| <span class="lineNum" id="container9"><a name="9"></a><a href="#9" id="line9"> 9</a> </span> : * |
| <span class="lineNum" id="container10"><a name="10"></a><a href="#10" id="line10"> 10</a> </span> : * http://www.apache.org/licenses/LICENSE-2.0 |
| <span class="lineNum" id="container11"><a name="11"></a><a href="#11" id="line11"> 11</a> </span> : * |
| <span class="lineNum" id="container12"><a name="12"></a><a href="#12" id="line12"> 12</a> </span> : * Unless required by applicable law or agreed to in writing, software |
| <span class="lineNum" id="container13"><a name="13"></a><a href="#13" id="line13"> 13</a> </span> : * distributed under the License is distributed on an "AS IS" BASIS, |
| <span class="lineNum" id="container14"><a name="14"></a><a href="#14" id="line14"> 14</a> </span> : * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| <span class="lineNum" id="container15"><a name="15"></a><a href="#15" id="line15"> 15</a> </span> : * See the License for the specific language governing permissions and |
| <span class="lineNum" id="container16"><a name="16"></a><a href="#16" id="line16"> 16</a> </span> : * limitations under the License. |
| <span class="lineNum" id="container17"><a name="17"></a><a href="#17" id="line17"> 17</a> </span> : * |
| <span class="lineNum" id="container18"><a name="18"></a><a href="#18" id="line18"> 18</a> </span> : * @package log4php |
| <span class="lineNum" id="container19"><a name="19"></a><a href="#19" id="line19"> 19</a> </span> : */ |
| <span class="lineNum" id="container20"><a name="20"></a><a href="#20" id="line20"> 20</a> </span> : |
| <span class="lineNum" id="container21"><a name="21"></a><a href="#21" id="line21"> 21</a> </span> : /** |
| <span class="lineNum" id="container22"><a name="22"></a><a href="#22" id="line22"> 22</a> </span> : * Provides methods for reflective use on php objects |
| <span class="lineNum" id="container23"><a name="23"></a><a href="#23" id="line23"> 23</a> </span> : * @package log4php |
| <span class="lineNum" id="container24"><a name="24"></a><a href="#24" id="line24"> 24</a> </span> : */ |
| <span class="lineNum" id="container25"><a name="25"></a><a href="#25" id="line25"> 25</a> </span> : class LoggerReflectionUtils { |
| <span class="lineNum" id="container26"><a name="26"></a><a href="#26" id="line26"> 26</a> </span> : /** the target object */ |
| <span class="lineNum" id="container27"><a name="27"></a><a href="#27" id="line27"> 27</a> </span> : private $obj; |
| <span class="lineNum" id="container28"><a name="28"></a><a href="#28" id="line28"> 28</a> </span> : |
| <span class="lineNum" id="container29"><a name="29"></a><a href="#29" id="line29"> 29</a> </span> : /** |
| <span class="lineNum" id="container30"><a name="30"></a><a href="#30" id="line30"> 30</a> </span> : * Create a new LoggerReflectionUtils for the specified Object. |
| <span class="lineNum" id="container31"><a name="31"></a><a href="#31" id="line31"> 31</a> </span> : * This is done in prepartion for invoking {@link setProperty()} |
| <span class="lineNum" id="container32"><a name="32"></a><a href="#32" id="line32"> 32</a> </span> : * one or more times. |
| <span class="lineNum" id="container33"><a name="33"></a><a href="#33" id="line33"> 33</a> </span> : * @param object &$obj the object for which to set properties |
| <span class="lineNum" id="container34"><a name="34"></a><a href="#34" id="line34"> 34</a> </span> : */ |
| <span class="lineNum" id="container35"><a name="35"></a><a href="#35" id="line35"> 35</a> </span> : public function __construct($obj) { |
| <span class="lineNum" id="container36"><a name="36"></a><a href="#36" id="line36"> 36</a> </span><span class="lineCov"> 3 : $this->obj = $obj; </span> |
| <span class="lineNum" id="container37"><a name="37"></a><a href="#37" id="line37"> 37</a> </span><span class="lineCov"> 3 : } </span> |
| <span class="lineNum" id="container38"><a name="38"></a><a href="#38" id="line38"> 38</a> </span> : |
| <span class="lineNum" id="container39"><a name="39"></a><a href="#39" id="line39"> 39</a> </span> : /** |
| <span class="lineNum" id="container40"><a name="40"></a><a href="#40" id="line40"> 40</a> </span> : * Set the properties of an object passed as a parameter in one |
| <span class="lineNum" id="container41"><a name="41"></a><a href="#41" id="line41"> 41</a> </span> : * go. The <code>properties</code> are parsed relative to a |
| <span class="lineNum" id="container42"><a name="42"></a><a href="#42" id="line42"> 42</a> </span> : * <code>prefix</code>. |
| <span class="lineNum" id="container43"><a name="43"></a><a href="#43" id="line43"> 43</a> </span> : * |
| <span class="lineNum" id="container44"><a name="44"></a><a href="#44" id="line44"> 44</a> </span> : * @param object $obj The object to configure. |
| <span class="lineNum" id="container45"><a name="45"></a><a href="#45" id="line45"> 45</a> </span> : * @param array $properties An array containing keys and values. |
| <span class="lineNum" id="container46"><a name="46"></a><a href="#46" id="line46"> 46</a> </span> : * @param string $prefix Only keys having the specified prefix will be set. |
| <span class="lineNum" id="container47"><a name="47"></a><a href="#47" id="line47"> 47</a> </span> : */ |
| <span class="lineNum" id="container48"><a name="48"></a><a href="#48" id="line48"> 48</a> </span> : // TODO: check, if this is really useful |
| <span class="lineNum" id="container49"><a name="49"></a><a href="#49" id="line49"> 49</a> </span> : public static function setPropertiesByObject($obj, $properties, $prefix) { |
| <span class="lineNum" id="container50"><a name="50"></a><a href="#50" id="line50"> 50</a> </span><span class="lineCov"> 1 : $pSetter = new LoggerReflectionUtils($obj); </span> |
| <span class="lineNum" id="container51"><a name="51"></a><a href="#51" id="line51"> 51</a> </span><span class="lineCov"> 1 : return $pSetter->setProperties($properties, $prefix); </span> |
| <span class="lineNum" id="container52"><a name="52"></a><a href="#52" id="line52"> 52</a> </span> : } |
| <span class="lineNum" id="container53"><a name="53"></a><a href="#53" id="line53"> 53</a> </span> : |
| <span class="lineNum" id="container54"><a name="54"></a><a href="#54" id="line54"> 54</a> </span> : |
| <span class="lineNum" id="container55"><a name="55"></a><a href="#55" id="line55"> 55</a> </span> : /** |
| <span class="lineNum" id="container56"><a name="56"></a><a href="#56" id="line56"> 56</a> </span> : * Set the properites for the object that match the |
| <span class="lineNum" id="container57"><a name="57"></a><a href="#57" id="line57"> 57</a> </span> : * <code>prefix</code> passed as parameter. |
| <span class="lineNum" id="container58"><a name="58"></a><a href="#58" id="line58"> 58</a> </span> : * |
| <span class="lineNum" id="container59"><a name="59"></a><a href="#59" id="line59"> 59</a> </span> : * Example: |
| <span class="lineNum" id="container60"><a name="60"></a><a href="#60" id="line60"> 60</a> </span> : * |
| <span class="lineNum" id="container61"><a name="61"></a><a href="#61" id="line61"> 61</a> </span> : * $arr['xxxname'] = 'Joe'; |
| <span class="lineNum" id="container62"><a name="62"></a><a href="#62" id="line62"> 62</a> </span> : * $arr['xxxmale'] = true; |
| <span class="lineNum" id="container63"><a name="63"></a><a href="#63" id="line63"> 63</a> </span> : * and prefix xxx causes setName and setMale. |
| <span class="lineNum" id="container64"><a name="64"></a><a href="#64" id="line64"> 64</a> </span> : * |
| <span class="lineNum" id="container65"><a name="65"></a><a href="#65" id="line65"> 65</a> </span> : * @param array $properties An array containing keys and values. |
| <span class="lineNum" id="container66"><a name="66"></a><a href="#66" id="line66"> 66</a> </span> : * @param string $prefix Only keys having the specified prefix will be set. |
| <span class="lineNum" id="container67"><a name="67"></a><a href="#67" id="line67"> 67</a> </span> : */ |
| <span class="lineNum" id="container68"><a name="68"></a><a href="#68" id="line68"> 68</a> </span> : // TODO: check, if this is really useful |
| <span class="lineNum" id="container69"><a name="69"></a><a href="#69" id="line69"> 69</a> </span> : public function setProperties($properties, $prefix) { |
| <span class="lineNum" id="container70"><a name="70"></a><a href="#70" id="line70"> 70</a> </span><span class="lineCov"> 2 : $len = strlen($prefix); </span> |
| <span class="lineNum" id="container71"><a name="71"></a><a href="#71" id="line71"> 71</a> </span><span class="lineCov"> 2 : reset($properties); </span> |
| <span class="lineNum" id="container72"><a name="72"></a><a href="#72" id="line72"> 72</a> </span><span class="lineCov"> 2 : while(list($key,) = each($properties)) { </span> |
| <span class="lineNum" id="container73"><a name="73"></a><a href="#73" id="line73"> 73</a> </span><span class="lineCov"> 2 : if(strpos($key, $prefix) === 0) { </span> |
| <span class="lineNum" id="container74"><a name="74"></a><a href="#74" id="line74"> 74</a> </span><span class="lineCov"> 2 : if(strpos($key, '.', ($len + 1)) > 0) { </span> |
| <span class="lineNum" id="container75"><a name="75"></a><a href="#75" id="line75"> 75</a> </span><span class="lineNoCov"> 0 : continue; </span> |
| <span class="lineNum" id="container76"><a name="76"></a><a href="#76" id="line76"> 76</a> </span> : } |
| <span class="lineNum" id="container77"><a name="77"></a><a href="#77" id="line77"> 77</a> </span><span class="lineCov"> 2 : $value = LoggerOptionConverter::findAndSubst($key, $properties); </span> |
| <span class="lineNum" id="container78"><a name="78"></a><a href="#78" id="line78"> 78</a> </span><span class="lineCov"> 2 : $key = substr($key, $len); </span> |
| <span class="lineNum" id="container79"><a name="79"></a><a href="#79" id="line79"> 79</a> </span><span class="lineCov"> 2 : if($key == 'layout' and ($this->obj instanceof LoggerAppender)) { </span> |
| <span class="lineNum" id="container80"><a name="80"></a><a href="#80" id="line80"> 80</a> </span><span class="lineNoCov"> 0 : continue; </span> |
| <span class="lineNum" id="container81"><a name="81"></a><a href="#81" id="line81"> 81</a> </span> : } |
| <span class="lineNum" id="container82"><a name="82"></a><a href="#82" id="line82"> 82</a> </span><span class="lineCov"> 2 : $this->setProperty($key, $value); </span> |
| <span class="lineNum" id="container83"><a name="83"></a><a href="#83" id="line83"> 83</a> </span><span class="lineCov"> 2 : } </span> |
| <span class="lineNum" id="container84"><a name="84"></a><a href="#84" id="line84"> 84</a> </span><span class="lineCov"> 2 : } </span> |
| <span class="lineNum" id="container85"><a name="85"></a><a href="#85" id="line85"> 85</a> </span><span class="lineCov"> 2 : $this->activate(); </span> |
| <span class="lineNum" id="container86"><a name="86"></a><a href="#86" id="line86"> 86</a> </span><span class="lineCov"> 2 : } </span> |
| <span class="lineNum" id="container87"><a name="87"></a><a href="#87" id="line87"> 87</a> </span> : |
| <span class="lineNum" id="container88"><a name="88"></a><a href="#88" id="line88"> 88</a> </span> : /** |
| <span class="lineNum" id="container89"><a name="89"></a><a href="#89" id="line89"> 89</a> </span> : * Set a property on this PropertySetter's Object. If successful, this |
| <span class="lineNum" id="container90"><a name="90"></a><a href="#90" id="line90"> 90</a> </span> : * method will invoke a setter method on the underlying Object. The |
| <span class="lineNum" id="container91"><a name="91"></a><a href="#91" id="line91"> 91</a> </span> : * setter is the one for the specified property name and the value is |
| <span class="lineNum" id="container92"><a name="92"></a><a href="#92" id="line92"> 92</a> </span> : * determined partly from the setter argument type and partly from the |
| <span class="lineNum" id="container93"><a name="93"></a><a href="#93" id="line93"> 93</a> </span> : * value specified in the call to this method. |
| <span class="lineNum" id="container94"><a name="94"></a><a href="#94" id="line94"> 94</a> </span> : * |
| <span class="lineNum" id="container95"><a name="95"></a><a href="#95" id="line95"> 95</a> </span> : * <p>If the setter expects a String no conversion is necessary. |
| <span class="lineNum" id="container96"><a name="96"></a><a href="#96" id="line96"> 96</a> </span> : * If it expects an int, then an attempt is made to convert 'value' |
| <span class="lineNum" id="container97"><a name="97"></a><a href="#97" id="line97"> 97</a> </span> : * to an int using new Integer(value). If the setter expects a boolean, |
| <span class="lineNum" id="container98"><a name="98"></a><a href="#98" id="line98"> 98</a> </span> : * the conversion is by new Boolean(value). |
| <span class="lineNum" id="container99"><a name="99"></a><a href="#99" id="line99"> 99</a> </span> : * |
| <span class="lineNum" id="container100"><a name="100"></a><a href="#100" id="line100"> 100</a> </span> : * @param string $name name of the property |
| <span class="lineNum" id="container101"><a name="101"></a><a href="#101" id="line101"> 101</a> </span> : * @param string $value String value of the property |
| <span class="lineNum" id="container102"><a name="102"></a><a href="#102" id="line102"> 102</a> </span> : */ |
| <span class="lineNum" id="container103"><a name="103"></a><a href="#103" id="line103"> 103</a> </span> : public function setProperty($name, $value) { |
| <span class="lineNum" id="container104"><a name="104"></a><a href="#104" id="line104"> 104</a> </span><span class="lineCov"> 3 : if($value === null) { </span> |
| <span class="lineNum" id="container105"><a name="105"></a><a href="#105" id="line105"> 105</a> </span><span class="lineNoCov"> 0 : return; </span> |
| <span class="lineNum" id="container106"><a name="106"></a><a href="#106" id="line106"> 106</a> </span> : } |
| <span class="lineNum" id="container107"><a name="107"></a><a href="#107" id="line107"> 107</a> </span> : |
| <span class="lineNum" id="container108"><a name="108"></a><a href="#108" id="line108"> 108</a> </span><span class="lineCov"> 3 : $method = "set" . ucfirst($name); </span> |
| <span class="lineNum" id="container109"><a name="109"></a><a href="#109" id="line109"> 109</a> </span> : |
| <span class="lineNum" id="container110"><a name="110"></a><a href="#110" id="line110"> 110</a> </span><span class="lineCov"> 3 : if(!method_exists($this->obj, $method)) { </span> |
| <span class="lineNum" id="container111"><a name="111"></a><a href="#111" id="line111"> 111</a> </span><span class="lineNoCov"> 0 : throw new Exception("Error setting log4php property $name to $value: no method $method in class ".get_class($this->obj)."!");</span> |
| <span class="lineNum" id="container112"><a name="112"></a><a href="#112" id="line112"> 112</a> </span> : } else { |
| <span class="lineNum" id="container113"><a name="113"></a><a href="#113" id="line113"> 113</a> </span><span class="lineCov"> 3 : return call_user_func(array($this->obj, $method), $value); </span> |
| <span class="lineNum" id="container114"><a name="114"></a><a href="#114" id="line114"> 114</a> </span> : } |
| <span class="lineNum" id="container115"><a name="115"></a><a href="#115" id="line115"> 115</a> </span> : } |
| <span class="lineNum" id="container116"><a name="116"></a><a href="#116" id="line116"> 116</a> </span> : |
| <span class="lineNum" id="container117"><a name="117"></a><a href="#117" id="line117"> 117</a> </span> : public function activate() { |
| <span class="lineNum" id="container118"><a name="118"></a><a href="#118" id="line118"> 118</a> </span><span class="lineCov"> 2 : if(method_exists($this->obj, 'activateoptions')) { </span> |
| <span class="lineNum" id="container119"><a name="119"></a><a href="#119" id="line119"> 119</a> </span><span class="lineNoCov"> 0 : return call_user_func(array($this->obj, 'activateoptions')); </span> |
| <span class="lineNum" id="container120"><a name="120"></a><a href="#120" id="line120"> 120</a> </span> : } |
| <span class="lineNum" id="container121"><a name="121"></a><a href="#121" id="line121"> 121</a> </span><span class="lineCov"> 2 : } </span> |
| <span class="lineNum" id="container122"><a name="122"></a><a href="#122" id="line122"> 122</a> </span> : |
| <span class="lineNum" id="container123"><a name="123"></a><a href="#123" id="line123"> 123</a> </span> : /** |
| <span class="lineNum" id="container124"><a name="124"></a><a href="#124" id="line124"> 124</a> </span> : * Creates an instances from the given class name. |
| <span class="lineNum" id="container125"><a name="125"></a><a href="#125" id="line125"> 125</a> </span> : * |
| <span class="lineNum" id="container126"><a name="126"></a><a href="#126" id="line126"> 126</a> </span> : * @param string $classname |
| <span class="lineNum" id="container127"><a name="127"></a><a href="#127" id="line127"> 127</a> </span> : * @return an object from the class with the given classname |
| <span class="lineNum" id="container128"><a name="128"></a><a href="#128" id="line128"> 128</a> </span> : */ |
| <span class="lineNum" id="container129"><a name="129"></a><a href="#129" id="line129"> 129</a> </span> : public static function createObject($class) { |
| <span class="lineNum" id="container130"><a name="130"></a><a href="#130" id="line130"> 130</a> </span><span class="lineCov"> 8 : if(!empty($class)) { </span> |
| <span class="lineNum" id="container131"><a name="131"></a><a href="#131" id="line131"> 131</a> </span><span class="lineCov"> 8 : return new $class(); </span> |
| <span class="lineNum" id="container132"><a name="132"></a><a href="#132" id="line132"> 132</a> </span> : } |
| <span class="lineNum" id="container133"><a name="133"></a><a href="#133" id="line133"> 133</a> </span><span class="lineNoCov"> 0 : return null; </span> |
| <span class="lineNum" id="container134"><a name="134"></a><a href="#134" id="line134"> 134</a> </span> : } |
| <span class="lineNum" id="container135"><a name="135"></a><a href="#135" id="line135"> 135</a> </span> : |
| <span class="lineNum" id="container136"><a name="136"></a><a href="#136" id="line136"> 136</a> </span> : /** |
| <span class="lineNum" id="container137"><a name="137"></a><a href="#137" id="line137"> 137</a> </span> : * @param object $object |
| <span class="lineNum" id="container138"><a name="138"></a><a href="#138" id="line138"> 138</a> </span> : * @param string $name |
| <span class="lineNum" id="container139"><a name="139"></a><a href="#139" id="line139"> 139</a> </span> : * @param mixed $value |
| <span class="lineNum" id="container140"><a name="140"></a><a href="#140" id="line140"> 140</a> </span> : */ |
| <span class="lineNum" id="container141"><a name="141"></a><a href="#141" id="line141"> 141</a> </span> : public static function setter($object, $name, $value) { |
| <span class="lineNum" id="container142"><a name="142"></a><a href="#142" id="line142"> 142</a> </span><span class="lineNoCov"> 0 : if (empty($name)) { </span> |
| <span class="lineNum" id="container143"><a name="143"></a><a href="#143" id="line143"> 143</a> </span><span class="lineNoCov"> 0 : return false; </span> |
| <span class="lineNum" id="container144"><a name="144"></a><a href="#144" id="line144"> 144</a> </span> : } |
| <span class="lineNum" id="container145"><a name="145"></a><a href="#145" id="line145"> 145</a> </span><span class="lineNoCov"> 0 : $methodName = 'set'.ucfirst($name); </span> |
| <span class="lineNum" id="container146"><a name="146"></a><a href="#146" id="line146"> 146</a> </span><span class="lineNoCov"> 0 : if (method_exists($object, $methodName)) { </span> |
| <span class="lineNum" id="container147"><a name="147"></a><a href="#147" id="line147"> 147</a> </span><span class="lineNoCov"> 0 : return call_user_func(array($object, $methodName), $value); </span> |
| <span class="lineNum" id="container148"><a name="148"></a><a href="#148" id="line148"> 148</a> </span> : } else { |
| <span class="lineNum" id="container149"><a name="149"></a><a href="#149" id="line149"> 149</a> </span><span class="lineNoCov"> 0 : return false; </span> |
| <span class="lineNum" id="container150"><a name="150"></a><a href="#150" id="line150"> 150</a> </span> : } |
| <span class="lineNum" id="container151"><a name="151"></a><a href="#151" id="line151"> 151</a> </span> : } |
| <span class="lineNum" id="container152"><a name="152"></a><a href="#152" id="line152"> 152</a> </span> : |
| <span class="lineNum" id="container153"><a name="153"></a><a href="#153" id="line153"> 153</a> </span> : } |
| |
| </pre> |
| </td> |
| </tr> |
| </table> |
| |
| <table width="100%" border="0" cellspacing="0" cellpadding="0"> |
| <tr><td class="ruler"><img src="glass.png" width="3" height="3" alt=""></td></tr> |
| <tr><td class="versionInfo">Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 1.1.1</a> using <a href="http://www.php.net/" target="_top">PHP 5.3.3-7+squeeze3</a> and PHPUnit 3.6.3 at Sat Feb 18 22:32:39 GMT 2012.</td></tr> |
| </table> |
| |
| <br /> |
| |
| <script type="text/javascript"> |
| //<![CDATA[ |
| $E = YAHOO.util.Event; |
| YAHOO.namespace("phpunit.container"); |
| YAHOO.phpunit.container.panelsData = { |
| "panel36": { |
| "header": "3 tests cover line 36", |
| "body": "<ul><li class=\"testPassed\">LoggerReflectionUtilsTest::testSimpleSet</li><li class=\"testPassed\">LoggerReflectionUtilsTest::testSimpleArraySet</li><li class=\"testPassed\">LoggerReflectionUtilsTest::testStaticArraySet</li></ul>", |
| "footer": "" |
| }, |
| "panel37": { |
| "header": "3 tests cover line 37", |
| "body": "<ul><li class=\"testPassed\">LoggerReflectionUtilsTest::testSimpleSet</li><li class=\"testPassed\">LoggerReflectionUtilsTest::testSimpleArraySet</li><li class=\"testPassed\">LoggerReflectionUtilsTest::testStaticArraySet</li></ul>", |
| "footer": "" |
| }, |
| "panel50": { |
| "header": "1 test covers line 50", |
| "body": "<ul><li class=\"testPassed\">LoggerReflectionUtilsTest::testStaticArraySet</li></ul>", |
| "footer": "" |
| }, |
| "panel51": { |
| "header": "1 test covers line 51", |
| "body": "<ul><li class=\"testPassed\">LoggerReflectionUtilsTest::testStaticArraySet</li></ul>", |
| "footer": "" |
| }, |
| "panel70": { |
| "header": "2 tests cover line 70", |
| "body": "<ul><li class=\"testPassed\">LoggerReflectionUtilsTest::testSimpleArraySet</li><li class=\"testPassed\">LoggerReflectionUtilsTest::testStaticArraySet</li></ul>", |
| "footer": "" |
| }, |
| "panel71": { |
| "header": "2 tests cover line 71", |
| "body": "<ul><li class=\"testPassed\">LoggerReflectionUtilsTest::testSimpleArraySet</li><li class=\"testPassed\">LoggerReflectionUtilsTest::testStaticArraySet</li></ul>", |
| "footer": "" |
| }, |
| "panel72": { |
| "header": "2 tests cover line 72", |
| "body": "<ul><li class=\"testPassed\">LoggerReflectionUtilsTest::testSimpleArraySet</li><li class=\"testPassed\">LoggerReflectionUtilsTest::testStaticArraySet</li></ul>", |
| "footer": "" |
| }, |
| "panel73": { |
| "header": "2 tests cover line 73", |
| "body": "<ul><li class=\"testPassed\">LoggerReflectionUtilsTest::testSimpleArraySet</li><li class=\"testPassed\">LoggerReflectionUtilsTest::testStaticArraySet</li></ul>", |
| "footer": "" |
| }, |
| "panel74": { |
| "header": "2 tests cover line 74", |
| "body": "<ul><li class=\"testPassed\">LoggerReflectionUtilsTest::testSimpleArraySet</li><li class=\"testPassed\">LoggerReflectionUtilsTest::testStaticArraySet</li></ul>", |
| "footer": "" |
| }, |
| "panel77": { |
| "header": "2 tests cover line 77", |
| "body": "<ul><li class=\"testPassed\">LoggerReflectionUtilsTest::testSimpleArraySet</li><li class=\"testPassed\">LoggerReflectionUtilsTest::testStaticArraySet</li></ul>", |
| "footer": "" |
| }, |
| "panel78": { |
| "header": "2 tests cover line 78", |
| "body": "<ul><li class=\"testPassed\">LoggerReflectionUtilsTest::testSimpleArraySet</li><li class=\"testPassed\">LoggerReflectionUtilsTest::testStaticArraySet</li></ul>", |
| "footer": "" |
| }, |
| "panel79": { |
| "header": "2 tests cover line 79", |
| "body": "<ul><li class=\"testPassed\">LoggerReflectionUtilsTest::testSimpleArraySet</li><li class=\"testPassed\">LoggerReflectionUtilsTest::testStaticArraySet</li></ul>", |
| "footer": "" |
| }, |
| "panel82": { |
| "header": "2 tests cover line 82", |
| "body": "<ul><li class=\"testPassed\">LoggerReflectionUtilsTest::testSimpleArraySet</li><li class=\"testPassed\">LoggerReflectionUtilsTest::testStaticArraySet</li></ul>", |
| "footer": "" |
| }, |
| "panel83": { |
| "header": "2 tests cover line 83", |
| "body": "<ul><li class=\"testPassed\">LoggerReflectionUtilsTest::testSimpleArraySet</li><li class=\"testPassed\">LoggerReflectionUtilsTest::testStaticArraySet</li></ul>", |
| "footer": "" |
| }, |
| "panel84": { |
| "header": "2 tests cover line 84", |
| "body": "<ul><li class=\"testPassed\">LoggerReflectionUtilsTest::testSimpleArraySet</li><li class=\"testPassed\">LoggerReflectionUtilsTest::testStaticArraySet</li></ul>", |
| "footer": "" |
| }, |
| "panel85": { |
| "header": "2 tests cover line 85", |
| "body": "<ul><li class=\"testPassed\">LoggerReflectionUtilsTest::testSimpleArraySet</li><li class=\"testPassed\">LoggerReflectionUtilsTest::testStaticArraySet</li></ul>", |
| "footer": "" |
| }, |
| "panel86": { |
| "header": "2 tests cover line 86", |
| "body": "<ul><li class=\"testPassed\">LoggerReflectionUtilsTest::testSimpleArraySet</li><li class=\"testPassed\">LoggerReflectionUtilsTest::testStaticArraySet</li></ul>", |
| "footer": "" |
| }, |
| "panel104": { |
| "header": "3 tests cover line 104", |
| "body": "<ul><li class=\"testPassed\">LoggerReflectionUtilsTest::testSimpleSet</li><li class=\"testPassed\">LoggerReflectionUtilsTest::testSimpleArraySet</li><li class=\"testPassed\">LoggerReflectionUtilsTest::testStaticArraySet</li></ul>", |
| "footer": "" |
| }, |
| "panel108": { |
| "header": "3 tests cover line 108", |
| "body": "<ul><li class=\"testPassed\">LoggerReflectionUtilsTest::testSimpleSet</li><li class=\"testPassed\">LoggerReflectionUtilsTest::testSimpleArraySet</li><li class=\"testPassed\">LoggerReflectionUtilsTest::testStaticArraySet</li></ul>", |
| "footer": "" |
| }, |
| "panel110": { |
| "header": "3 tests cover line 110", |
| "body": "<ul><li class=\"testPassed\">LoggerReflectionUtilsTest::testSimpleSet</li><li class=\"testPassed\">LoggerReflectionUtilsTest::testSimpleArraySet</li><li class=\"testPassed\">LoggerReflectionUtilsTest::testStaticArraySet</li></ul>", |
| "footer": "" |
| }, |
| "panel113": { |
| "header": "3 tests cover line 113", |
| "body": "<ul><li class=\"testPassed\">LoggerReflectionUtilsTest::testSimpleSet</li><li class=\"testPassed\">LoggerReflectionUtilsTest::testSimpleArraySet</li><li class=\"testPassed\">LoggerReflectionUtilsTest::testStaticArraySet</li></ul>", |
| "footer": "" |
| }, |
| "panel118": { |
| "header": "2 tests cover line 118", |
| "body": "<ul><li class=\"testPassed\">LoggerReflectionUtilsTest::testSimpleArraySet</li><li class=\"testPassed\">LoggerReflectionUtilsTest::testStaticArraySet</li></ul>", |
| "footer": "" |
| }, |
| "panel121": { |
| "header": "2 tests cover line 121", |
| "body": "<ul><li class=\"testPassed\">LoggerReflectionUtilsTest::testSimpleArraySet</li><li class=\"testPassed\">LoggerReflectionUtilsTest::testStaticArraySet</li></ul>", |
| "footer": "" |
| }, |
| "panel130": { |
| "header": "8 tests cover line 130", |
| "body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testAppendersWithLayout</li><li class=\"testPassed\">LoggerReflectionUtilsTest::testCreateObject</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRender</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRenderDescendants</li><li class=\"testPassed\">LoggerRendererMapTest::testGetByObject</li><li class=\"testPassed\">LoggerRendererMapTest::testGetByClassName</li><li class=\"testPassed\">LoggerRendererMapTest::testUsage</li><li class=\"testPassed\">LoggerRendererObjectTest::testFactory</li></ul>", |
| "footer": "" |
| }, |
| "panel131": { |
| "header": "8 tests cover line 131", |
| "body": "<ul><li class=\"testPassed\">LoggerConfiguratorTest::testAppendersWithLayout</li><li class=\"testPassed\">LoggerReflectionUtilsTest::testCreateObject</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRender</li><li class=\"testPassed\">LoggerRendererMapTest::testFindAndRenderDescendants</li><li class=\"testPassed\">LoggerRendererMapTest::testGetByObject</li><li class=\"testPassed\">LoggerRendererMapTest::testGetByClassName</li><li class=\"testPassed\">LoggerRendererMapTest::testUsage</li><li class=\"testPassed\">LoggerRendererObjectTest::testFactory</li></ul>", |
| "footer": "" |
| }, |
| "dummy": "" |
| }; |
| |
| YAHOO.phpunit.container.prepare = function (e) { |
| var elemId = $E.getTarget(e).id; |
| var line = elemId.substr(4); |
| var panelId = "panel" + line; |
| var containerId = "container" + line; |
| |
| var panelData = YAHOO.phpunit.container.panelsData[panelId]; |
| |
| var panel = new YAHOO.widget.Panel(panelId, { visible:false, draggable:false, close:true } ); |
| panel.setHeader(panelData["header"]); |
| panel.setBody(panelData["body"]); |
| panel.setFooter(panelData["footer"]); |
| panel.render(containerId); |
| |
| $E.addListener(elemId, "click", panel.show, panel, true); |
| $E.removeListener(elemId, "mouseover"); |
| }; |
| |
| function init() { |
| var ypc = YAHOO.phpunit.container; |
| for (var panelId in ypc.panelsData) { |
| var elemId = "line" + panelId.substr(5); |
| $E.addListener(elemId, "mouseover", ypc.prepare); |
| } |
| } |
| |
| $E.addListener(window, "load", init); |
| //]]> |
| </script> |
| </body> |
| </html> |