Modified: websites/production/commons/content/proper/commons-text/jacoco/org.apache.commons.text.translate/LookupTranslator.java.html ============================================================================== --- websites/production/commons/content/proper/commons-text/jacoco/org.apache.commons.text.translate/LookupTranslator.java.html (original) +++ websites/production/commons/content/proper/commons-text/jacoco/org.apache.commons.text.translate/LookupTranslator.java.html Mon Jan 23 12:35:12 2017 @@ -18,8 +18,10 @@ package org.apache.commons.text.translat import java.io.IOException; import java.io.Writer; +import java.security.InvalidParameterException; import java.util.HashMap; import java.util.HashSet; +import java.util.Map; /** * Translates a value using a lookup table. @@ -28,7 +30,7 @@ import java.util.HashSet; */ public class LookupTranslator extends CharSequenceTranslator { - private final HashMap<String, String> lookupMap; + private final Map<String, String> lookupMap; private final HashSet<Character> prefixSet; private final int shortest; private final int longest; @@ -36,33 +38,37 @@ public class LookupTranslator extends Ch /** * Define the lookup table to be used in translation * - * Note that, as of Lang 3.1, the key to the lookup table is converted to a - * java.lang.String. This is because we need the key to support hashCode and - * equals(Object), allowing it to be the key for a HashMap. See LANG-882. + * Note that, as of Lang 3.1 (the orgin of this code), the key to the lookup + * table is converted to a java.lang.String. This is because we need the key + * to support hashCode and equals(Object), allowing it to be the key for a + * HashMap. See LANG-882. * - * @param lookup CharSequence[][] table of size [*][2] + * @param lookupMap Map&lt;CharSequence, CharSequence&gt; table of translator + * mappings */ -<span class="fc" id="L45"> public LookupTranslator(final CharSequence[]... lookup) {</span> -<span class="fc" id="L46"> lookupMap = new HashMap<>();</span> -<span class="fc" id="L47"> prefixSet = new HashSet<>();</span> -<span class="fc" id="L48"> int _shortest = Integer.MAX_VALUE;</span> -<span class="fc" id="L49"> int _longest = 0;</span> -<span class="pc bpc" id="L50" title="1 of 2 branches missed."> if (lookup != null) {</span> -<span class="fc bfc" id="L51" title="All 2 branches covered."> for (final CharSequence[] seq : lookup) {</span> -<span class="fc" id="L52"> this.lookupMap.put(seq[0].toString(), seq[1].toString());</span> -<span class="fc" id="L53"> this.prefixSet.add(seq[0].charAt(0));</span> -<span class="fc" id="L54"> final int sz = seq[0].length();</span> -<span class="fc bfc" id="L55" title="All 2 branches covered."> if (sz < _shortest) {</span> -<span class="fc" id="L56"> _shortest = sz;</span> - } -<span class="fc bfc" id="L58" title="All 2 branches covered."> if (sz > _longest) {</span> -<span class="fc" id="L59"> _longest = sz;</span> - } - } +<span class="fc" id="L49"> public LookupTranslator(final Map<CharSequence, CharSequence> lookupMap) {</span> +<span class="pc bpc" id="L50" title="1 of 2 branches missed."> if (lookupMap == null) {</span> +<span class="nc" id="L51"> throw new InvalidParameterException("lookupMap cannot be null");</span> } -<span class="fc" id="L63"> shortest = _shortest;</span> -<span class="fc" id="L64"> longest = _longest;</span> -<span class="fc" id="L65"> }</span> +<span class="fc" id="L53"> this.lookupMap = new HashMap<>();</span> +<span class="fc" id="L54"> prefixSet = new HashSet<>();</span> +<span class="fc" id="L55"> int _shortest = Integer.MAX_VALUE;</span> +<span class="fc" id="L56"> int _longest = 0;</span> +<span class="fc bfc" id="L57" title="All 2 branches covered."> for (final CharSequence key : lookupMap.keySet()) {</span> +<span class="fc" id="L58"> this.lookupMap.put(key.toString(),</span> +<span class="fc" id="L59"> lookupMap.get(key).toString());</span> +<span class="fc" id="L60"> this.prefixSet.add(key.charAt(0));</span> +<span class="fc" id="L61"> final int sz = key.length();</span> +<span class="fc bfc" id="L62" title="All 2 branches covered."> if (sz < _shortest) {</span> +<span class="fc" id="L63"> _shortest = sz;</span> + } +<span class="fc bfc" id="L65" title="All 2 branches covered."> if (sz > _longest) {</span> +<span class="fc" id="L66"> _longest = sz;</span> + } +<span class="fc" id="L68"> }</span> +<span class="fc" id="L69"> shortest = _shortest;</span> +<span class="fc" id="L70"> longest = _longest;</span> +<span class="fc" id="L71"> }</span> /** * {@inheritDoc} @@ -70,23 +76,23 @@ public class LookupTranslator extends Ch @Override public int translate(final CharSequence input, final int index, final Writer out) throws IOException { // check if translation exists for the input at position index -<span class="fc bfc" id="L73" title="All 2 branches covered."> if (prefixSet.contains(input.charAt(index))) {</span> -<span class="fc" id="L74"> int max = longest;</span> -<span class="fc bfc" id="L75" title="All 2 branches covered."> if (index + longest > input.length()) {</span> -<span class="fc" id="L76"> max = input.length() - index;</span> +<span class="fc bfc" id="L79" title="All 2 branches covered."> if (prefixSet.contains(input.charAt(index))) {</span> +<span class="fc" id="L80"> int max = longest;</span> +<span class="fc bfc" id="L81" title="All 2 branches covered."> if (index + longest > input.length()) {</span> +<span class="fc" id="L82"> max = input.length() - index;</span> } // implement greedy algorithm by trying maximum match first -<span class="fc bfc" id="L79" title="All 2 branches covered."> for (int i = max; i >= shortest; i--) {</span> -<span class="fc" id="L80"> final CharSequence subSeq = input.subSequence(index, index + i);</span> -<span class="fc" id="L81"> final String result = lookupMap.get(subSeq.toString());</span> - -<span class="fc bfc" id="L83" title="All 2 branches covered."> if (result != null) {</span> -<span class="fc" id="L84"> out.write(result);</span> -<span class="fc" id="L85"> return i;</span> +<span class="fc bfc" id="L85" title="All 2 branches covered."> for (int i = max; i >= shortest; i--) {</span> +<span class="fc" id="L86"> final CharSequence subSeq = input.subSequence(index, index + i);</span> +<span class="fc" id="L87"> final String result = lookupMap.get(subSeq.toString());</span> + +<span class="fc bfc" id="L89" title="All 2 branches covered."> if (result != null) {</span> +<span class="fc" id="L90"> out.write(result);</span> +<span class="fc" id="L91"> return i;</span> } } } -<span class="fc" id="L89"> return 0;</span> +<span class="fc" id="L95"> return 0;</span> } } </pre><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.7.201606060606</span></div></body></html> \ No newline at end of file
Modified: websites/production/commons/content/proper/commons-text/jacoco/org.apache.commons.text.translate/SingleLookupTranslator.html ============================================================================== --- websites/production/commons/content/proper/commons-text/jacoco/org.apache.commons.text.translate/SingleLookupTranslator.html (original) +++ websites/production/commons/content/proper/commons-text/jacoco/org.apache.commons.text.translate/SingleLookupTranslator.html Mon Jan 23 12:35:12 2017 @@ -1 +1 @@ -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SingleLookupTranslator</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Apache Commons Text</a> > <a href="index.html" class="el_package">org.apache.commons.text.translate</a> > <span class="el_class">SingleLookupTranslator</span></div><h1>SingleLookupTranslator</h1><table class="coverage" cells pacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">7 of 241</td><td class="ctr2">97%</td><td class="bar">4 of 28</td><td class="ctr2">86%</td><td class="ctr1 ">4</td><td class="ctr2">17</td><td class="ctr1">1</td><td class="ctr2">51</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a2"><a href="SingleLookupTranslator.java.html#L113" class="el_method">translate(CharSequence, int, Writer)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="6" height="10" title="7" alt="7"/><img src="../jacoco-resources/greenbar.gif" width="80" height="10" title="84" alt="84"/></td><td class="ctr2" id="c2">92%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="3" alt="3"/><img src="../jacoco-resources/greenbar.gif" width="94" height="10" title="11" alt="11"/></td><td class="ctr2" id="e1">79%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g0">8</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i1">18</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="SingleLookupTranslator.java.html#L54" cla ss="el_method">SingleLookupTranslator(String[][][])</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="126" alt="126"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="8" height="10" title="1" alt="1"/><img src="../jacoco-resources/greenbar.gif" width="111" height="10" title="13" alt="13"/></td><td class="ctr2" id="e0">93%</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">8</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">29</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="SingleLookupTranslator.java.html#L92" class="el_method">append(String[][], String[][])</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="22" height="10" title="24" alt="24"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</ td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">4</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.7.201606060606</span></div></body></html> \ No newline at end of file +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SingleLookupTranslator</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Apache Commons Text</a> > <a href="index.html" class="el_package">org.apache.commons.text.translate</a> > <span class="el_class">SingleLookupTranslator</span></div><h1>SingleLookupTranslator</h1><table class="coverage" cells pacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">7 of 225</td><td class="ctr2">97%</td><td class="bar">4 of 30</td><td class="ctr2">87%</td><td class="ctr1 ">4</td><td class="ctr2">17</td><td class="ctr1">1</td><td class="ctr2">50</td><td class="ctr1">0</td><td class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a1"><a href="SingleLookupTranslator.java.html#L109" class="el_method">translate(CharSequence, int, Writer)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="6" height="10" title="7" alt="7"/><img src="../jacoco-resources/greenbar.gif" width="75" height="10" title="84" alt="84"/></td><td class="ctr2" id="c1">92%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="22" height="10" title="3" alt="3"/><img src="../jacoco-resources/greenbar.gif" width="82" height="10" title="11" alt="11"/></td><td class="ctr2" id="e1">79%</td><td class="ctr1" id="f0">3</td><td class="ctr2" id="g1">8</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i1">18</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="SingleLookupTranslator.java.html#L55" cla ss="el_method">SingleLookupTranslator(Map[])</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="134" alt="134"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="7" height="10" title="1" alt="1"/><img src="../jacoco-resources/greenbar.gif" width="112" height="10" title="15" alt="15"/></td><td class="ctr2" id="e0">94%</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g0">9</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">32</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.7.201606060606</span></div></body></html> \ No newline at end of file Modified: websites/production/commons/content/proper/commons-text/jacoco/org.apache.commons.text.translate/SingleLookupTranslator.java.html ============================================================================== --- websites/production/commons/content/proper/commons-text/jacoco/org.apache.commons.text.translate/SingleLookupTranslator.java.html (original) +++ websites/production/commons/content/proper/commons-text/jacoco/org.apache.commons.text.translate/SingleLookupTranslator.java.html Mon Jan 23 12:35:12 2017 @@ -20,6 +20,7 @@ import java.io.IOException; import java.io.Writer; import java.util.HashMap; import java.util.HashSet; +import java.util.Map; /** * Translates a value using a lookup table. @@ -29,7 +30,7 @@ import java.util.HashSet; */ public class SingleLookupTranslator extends CharSequenceTranslator { - private final HashMap<String, String> lookupMap; + private final Map<String, String> lookupMap; private final HashSet<Character> prefixSet; private final int shortest; private final int longest; @@ -49,51 +50,46 @@ public class SingleLookupTranslator exte * lookup table passed to this instance while deciding whether a value is * already translated or not. * - * @param inputArrays, an array of string arrays. + * @param inputMaps, an array of Map&lt;CharSequence, CharSequence&gt;. */ -<span class="fc" id="L54"> public SingleLookupTranslator(final String[][]... inputArrays) {</span> -<span class="fc" id="L55"> String[][] lookup = new String[0][];</span> -<span class="fc bfc" id="L56" title="All 2 branches covered."> for (String[][] input : inputArrays) {</span> -<span class="fc" id="L57"> lookup = append(lookup, input);</span> +<span class="fc" id="L55"> public SingleLookupTranslator(Map<CharSequence, CharSequence>... inputMaps) {</span> +<span class="fc" id="L56"> Map<CharSequence, CharSequence> lookup = new HashMap<>();</span> +<span class="fc bfc" id="L57" title="All 2 branches covered."> for (Map<CharSequence, CharSequence> input : inputMaps) {</span> +<span class="fc bfc" id="L58" title="All 2 branches covered."> for(CharSequence key : input.keySet()) {</span> +<span class="fc" id="L59"> lookup.put(key, input.get(key));</span> +<span class="fc" id="L60"> }</span> } -<span class="fc" id="L59"> lookupMap = new HashMap<String, String>();</span> -<span class="fc" id="L60"> prefixSet = new HashSet<Character>();</span> -<span class="fc" id="L61"> int _shortest = Integer.MAX_VALUE;</span> -<span class="fc" id="L62"> int _longest = 0;</span> -<span class="fc" id="L63"> int _shortestValue = Integer.MAX_VALUE;</span> -<span class="fc" id="L64"> int _longestValue = 0;</span> -<span class="pc bpc" id="L65" title="1 of 2 branches missed."> if (lookup != null) {</span> -<span class="fc bfc" id="L66" title="All 2 branches covered."> for (final CharSequence[] seq : lookup) {</span> -<span class="fc" id="L67"> this.lookupMap.put(seq[0].toString(), seq[1].toString());</span> -<span class="fc" id="L68"> this.prefixSet.add(seq[0].charAt(0));</span> -<span class="fc" id="L69"> final int sz = seq[0].length();</span> -<span class="fc bfc" id="L70" title="All 2 branches covered."> if (sz < _shortest) {</span> -<span class="fc" id="L71"> _shortest = sz;</span> +<span class="fc" id="L62"> lookupMap = new HashMap<String, String>();</span> +<span class="fc" id="L63"> prefixSet = new HashSet<Character>();</span> +<span class="fc" id="L64"> int _shortest = Integer.MAX_VALUE;</span> +<span class="fc" id="L65"> int _longest = 0;</span> +<span class="fc" id="L66"> int _shortestValue = Integer.MAX_VALUE;</span> +<span class="fc" id="L67"> int _longestValue = 0;</span> +<span class="pc bpc" id="L68" title="1 of 2 branches missed."> if (lookup != null) {</span> +<span class="fc bfc" id="L69" title="All 2 branches covered."> for (final CharSequence key: lookup.keySet()) {</span> +<span class="fc" id="L70"> this.lookupMap.put(key.toString(), lookup.get(key).toString());</span> +<span class="fc" id="L71"> this.prefixSet.add(key.charAt(0));</span> +<span class="fc" id="L72"> final int sz = key.length();</span> +<span class="fc bfc" id="L73" title="All 2 branches covered."> if (sz < _shortest) {</span> +<span class="fc" id="L74"> _shortest = sz;</span> } -<span class="fc bfc" id="L73" title="All 2 branches covered."> if (sz > _longest) {</span> -<span class="fc" id="L74"> _longest = sz;</span> +<span class="fc bfc" id="L76" title="All 2 branches covered."> if (sz > _longest) {</span> +<span class="fc" id="L77"> _longest = sz;</span> } -<span class="fc" id="L76"> final int sizeOfValue = seq[1].length();</span> -<span class="fc bfc" id="L77" title="All 2 branches covered."> if (sizeOfValue < _shortestValue) {</span> -<span class="fc" id="L78"> _shortestValue = sizeOfValue;</span> +<span class="fc" id="L79"> final int sizeOfValue = lookup.get(key).length();</span> +<span class="fc bfc" id="L80" title="All 2 branches covered."> if (sizeOfValue < _shortestValue) {</span> +<span class="fc" id="L81"> _shortestValue = sizeOfValue;</span> } -<span class="fc bfc" id="L80" title="All 2 branches covered."> if (sizeOfValue > _longestValue) {</span> -<span class="fc" id="L81"> _longestValue = sizeOfValue;</span> +<span class="fc bfc" id="L83" title="All 2 branches covered."> if (sizeOfValue > _longestValue) {</span> +<span class="fc" id="L84"> _longestValue = sizeOfValue;</span> } - } +<span class="fc" id="L86"> }</span> } -<span class="fc" id="L85"> shortest = _shortest;</span> -<span class="fc" id="L86"> longest = _longest;</span> -<span class="fc" id="L87"> shortestValue = _shortestValue;</span> -<span class="fc" id="L88"> longestValue = _longestValue;</span> -<span class="fc" id="L89"> }</span> - - private static String[][] append(String[][] a, String[][] b) { -<span class="fc" id="L92"> String[][] result = new String[a.length + b.length][];</span> -<span class="fc" id="L93"> System.arraycopy(a, 0, result, 0, a.length);</span> -<span class="fc" id="L94"> System.arraycopy(b, 0, result, a.length, b.length);</span> -<span class="fc" id="L95"> return result;</span> - } +<span class="fc" id="L88"> shortest = _shortest;</span> +<span class="fc" id="L89"> longest = _longest;</span> +<span class="fc" id="L90"> shortestValue = _shortestValue;</span> +<span class="fc" id="L91"> longestValue = _longestValue;</span> +<span class="fc" id="L92"> }</span> /** * Translate a set of codepoints, represented by an int index into a CharSequence, @@ -110,37 +106,37 @@ public class SingleLookupTranslator exte @Override public int translate(CharSequence input, int index, Writer out) throws IOException { // check if already translated -<span class="fc" id="L113"> int maxValue = longestValue;</span> -<span class="fc bfc" id="L114" title="All 2 branches covered."> if (index + maxValue > input.length()) {</span> -<span class="fc" id="L115"> maxValue = input.length() - index;</span> +<span class="fc" id="L109"> int maxValue = longestValue;</span> +<span class="fc bfc" id="L110" title="All 2 branches covered."> if (index + maxValue > input.length()) {</span> +<span class="fc" id="L111"> maxValue = input.length() - index;</span> } // implement greedy algorithm to check all the possible 'value' matches for which we need to skip translation. -<span class="fc bfc" id="L118" title="All 2 branches covered."> for (int i = maxValue; i >= shortestValue; i--) {</span> -<span class="fc" id="L119"> final CharSequence subSeq = input.subSequence(index, index + i);</span> +<span class="fc bfc" id="L114" title="All 2 branches covered."> for (int i = maxValue; i >= shortestValue; i--) {</span> +<span class="fc" id="L115"> final CharSequence subSeq = input.subSequence(index, index + i);</span> // If the sub-string is already translated, return without translating. -<span class="fc bfc" id="L121" title="All 2 branches covered."> if (lookupMap.containsValue(subSeq.toString())) {</span> -<span class="fc" id="L122"> return 0;</span> +<span class="fc bfc" id="L117" title="All 2 branches covered."> if (lookupMap.containsValue(subSeq.toString())) {</span> +<span class="fc" id="L118"> return 0;</span> } } // check if translation exists for the input at position index -<span class="fc bfc" id="L127" title="All 2 branches covered."> if (prefixSet.contains(input.charAt(index))) {</span> -<span class="fc" id="L128"> int max = longest;</span> -<span class="pc bpc" id="L129" title="1 of 2 branches missed."> if (index + longest > input.length()) {</span> -<span class="nc" id="L130"> max = input.length() - index;</span> +<span class="fc bfc" id="L123" title="All 2 branches covered."> if (prefixSet.contains(input.charAt(index))) {</span> +<span class="fc" id="L124"> int max = longest;</span> +<span class="pc bpc" id="L125" title="1 of 2 branches missed."> if (index + longest > input.length()) {</span> +<span class="nc" id="L126"> max = input.length() - index;</span> } // implement greedy algorithm by trying maximum match first -<span class="pc bpc" id="L133" title="1 of 2 branches missed."> for (int i = max; i >= shortest; i--) {</span> -<span class="fc" id="L134"> final CharSequence subSeq = input.subSequence(index, index + i);</span> -<span class="fc" id="L135"> final String result = lookupMap.get(subSeq.toString());</span> - -<span class="pc bpc" id="L137" title="1 of 2 branches missed."> if (result != null) {</span> -<span class="fc" id="L138"> out.write(result);</span> -<span class="fc" id="L139"> return i;</span> +<span class="pc bpc" id="L129" title="1 of 2 branches missed."> for (int i = max; i >= shortest; i--) {</span> +<span class="fc" id="L130"> final CharSequence subSeq = input.subSequence(index, index + i);</span> +<span class="fc" id="L131"> final String result = lookupMap.get(subSeq.toString());</span> + +<span class="pc bpc" id="L133" title="1 of 2 branches missed."> if (result != null) {</span> +<span class="fc" id="L134"> out.write(result);</span> +<span class="fc" id="L135"> return i;</span> } } } -<span class="fc" id="L143"> return 0;</span> +<span class="fc" id="L139"> return 0;</span> } } </pre><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.7.201606060606</span></div></body></html> \ No newline at end of file Added: websites/production/commons/content/proper/commons-text/jacoco/org.apache.commons.text.translate/SinglePassTranslator.html ============================================================================== --- websites/production/commons/content/proper/commons-text/jacoco/org.apache.commons.text.translate/SinglePassTranslator.html (added) +++ websites/production/commons/content/proper/commons-text/jacoco/org.apache.commons.text.translate/SinglePassTranslator.html Mon Jan 23 12:35:12 2017 @@ -0,0 +1 @@ +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SinglePassTranslator</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Apache Commons Text</a> > <a href="index.html" class="el_package">org.apache.commons.text.translate</a> > <span class="el_class">SinglePassTranslator</span></div><h1>SinglePassTranslator</h1><table class="coverage" cellspacing ="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">2 of 40</td><td class="ctr2">95%</td><td class="bar">1 of 4</td><td class="ctr2">75%</td><td class="ctr1">1</td> <td class="ctr2">5</td><td class="ctr1">0</td><td class="ctr2">7</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a0"><a href="SinglePassTranslator.java.html#L41" class="el_method">getClassName()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="9" height="10" title="2" alt="2"/><img src="../jacoco-resources/greenbar.gif" width="48" height="10" title="10" alt="10"/></td><td class="ctr2" id="c2">83%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="1" alt="1"/><img src="../jacoco-resources/greenbar.gif" width="60" height="10" title="1" alt="1"/></td><td class="ctr2" id="e1">50%</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="SinglePassTranslator.java.html#L30" class="el_method">translate(CharSequence, i nt, Writer)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="25" alt="25"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="SinglePassTranslator.java.html#L26" class="el_method">SinglePassTranslator()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="14" height="10" title="3" alt="3"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">0</td><td class="c tr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.7.201606060606</span></div></body></html> \ No newline at end of file Added: websites/production/commons/content/proper/commons-text/jacoco/org.apache.commons.text.translate/SinglePassTranslator.java.html ============================================================================== --- websites/production/commons/content/proper/commons-text/jacoco/org.apache.commons.text.translate/SinglePassTranslator.java.html (added) +++ websites/production/commons/content/proper/commons-text/jacoco/org.apache.commons.text.translate/SinglePassTranslator.java.html Mon Jan 23 12:35:12 2017 @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>SinglePassTranslator.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Apache Commons Text</a> > <a href="index.source.html" class="el_package">org.apache.commons.text.translate</a> > <span class=" el_source">SinglePassTranslator.java</span></div><h1>SinglePassTranslator.java</h1><pre class="source lang-java linenums">/* + * 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. + */ +package org.apache.commons.text.translate; + +import java.io.IOException; +import java.io.Writer; + +/** + * Abstract translator for processing whole input in single pass. + * Handles initial index checking and counting of returned code points. + */ +<span class="fc" id="L26">abstract class SinglePassTranslator extends CharSequenceTranslator {</span> + + @Override + public int translate(final CharSequence input, final int index, final Writer out) throws IOException { +<span class="fc bfc" id="L30" title="All 2 branches covered."> if (index != 0) {</span> +<span class="fc" id="L31"> throw new IllegalArgumentException(getClassName() + ".translate(final CharSequence input, final int " +</span> + "index, final Writer out) can not handle a non-zero index."); + } + +<span class="fc" id="L35"> translateWhole(input, out);</span> + +<span class="fc" id="L37"> return Character.codePointCount(input, index, input.length());</span> + } + + private String getClassName() { +<span class="fc" id="L41"> final Class clazz = this.getClass();</span> +<span class="pc bpc" id="L42" title="1 of 2 branches missed."> return clazz.isAnonymousClass() ? clazz.getName() : clazz.getSimpleName();</span> + } + + /** + * Translate whole set of code points passed in input. + * + * @param input CharSequence that is being translated + * @param out Writer to translate the text to + * @return total count of codepoints in input + * @throws IOException if and only if the Writer produces an IOException + */ + abstract void translateWhole(final CharSequence input, final Writer out) throws IOException; +} +</pre><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.7.201606060606</span></div></body></html> \ No newline at end of file Modified: websites/production/commons/content/proper/commons-text/jacoco/org.apache.commons.text.translate/index.html ============================================================================== --- websites/production/commons/content/proper/commons-text/jacoco/org.apache.commons.text.translate/index.html (original) +++ websites/production/commons/content/proper/commons-text/jacoco/org.apache.commons.text.translate/index.html Mon Jan 23 12:35:12 2017 @@ -1 +1 @@ -<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>org.apache.commons.text.translate</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Apache Commons Text</a> > <span class="el_package">org.apache.commons.text.translate</span></div><h1>org.apache.commons.text.translate</h 1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this) ">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">37 of 4,850</td><td class="ctr2">99%</td><td class="bar">18 of 190</td><td class="ctr2">91%</td><td class="ctr1">21</td><td class="ctr2">159</td><td class="ctr1">6</td><td class="ctr2">291</td><td class="ctr1">3</td><td class="ctr2">64</td><td class="ctr1">0</td><td class="ctr2">14</td></tr></tfoot><tbody><tr><td id="a11"><a href="UnicodeEscaper.html" class="el_class">UnicodeEscaper</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="3" height="10" title="105" alt="105"/></td><td class="ctr2" id="c13">87%</td><td class="bar" id="d6"><img src="../jacoco-resources/greenbar.gif" width="30" height="10" title="12" alt="12"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f3">2</td><td class="ctr2" id="g4">14</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i5">25</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k1">8</td><td class="ctr1" id="l0">0</td><td class="ct r2" id="m0">1</td></tr><tr><td id="a10"><a href="SingleLookupTranslator.html" class="el_class">SingleLookupTranslator</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="8" height="10" title="234" alt="234"/></td><td class="ctr2" id="c10">97%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="4" alt="4"/><img src="../jacoco-resources/greenbar.gif" width="60" height="10" title="24" alt="24"/></td><td class="ctr2" id="e10">86%</td><td class="ctr1" id="f1">4</td><td class="ctr2" id="g1">17</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i0">51</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k7">3</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a1"><a href="CharSequenceTranslator.html" class="el_class">CharSequenceTranslator</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="6" height="10" title="185" alt="185"/></td><td class ="ctr2" id="c11">97%</td><td class="bar" id="d3"><img src="../jacoco-resources/redbar.gif" width="5" height="10" title="2" alt="2"/><img src="../jacoco-resources/greenbar.gif" width="40" height="10" title="16" alt="16"/></td><td class="ctr2" id="e8">89%</td><td class="ctr1" id="f4">2</td><td class="ctr2" id="g3">15</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i2">36</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">6</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a8"><a href="NumericEntityUnescaper$OPTION.html" class="el_class">NumericEntityUnescaper.OPTION</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="1" height="10" title="43" alt="43"/></td><td class="ctr2" id="c12">90%</td><td class="bar" id="d12"/><td class="ctr2" id="e12">n/a</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g11">4</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i13">1</td><td class="ctr1" id="j1">1</td>< td class="ctr2" id="k5">4</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a7"><a href="NumericEntityUnescaper.html" class="el_class">NumericEntityUnescaper</a></td><td class="bar" id="b4"><img src="../jacoco-resources/greenbar.gif" width="7" height="10" title="203" alt="203"/></td><td class="ctr2" id="c9">99%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="12" height="10" title="5" alt="5"/><img src="../jacoco-resources/greenbar.gif" width="107" height="10" title="43" alt="43"/></td><td class="ctr2" id="e7">90%</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">27</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i1">41</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k8">3</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m4">1</td></tr><tr><td id="a9"><a href="OctalUnescaper.html" class="el_class">OctalUnescaper</a></td><td class="bar" id="b5"><img src="../jacoco-resources/greenbar.gif" wid th="3" height="10" title="115" alt="115"/></td><td class="ctr2" id="c8">99%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="4" alt="4"/><img src="../jacoco-resources/greenbar.gif" width="50" height="10" title="20" alt="20"/></td><td class="ctr2" id="e11">83%</td><td class="ctr1" id="f2">4</td><td class="ctr2" id="g2">16</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i7">17</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k6">4</td><td class="ctr1" id="l5">0</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a3"><a href="EntityArrays.html" class="el_class">EntityArrays</a></td><td class="bar" id="b6"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="3,463" alt="3,463"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d10"><img src="../jacoco-resources/greenbar.gif" width="5" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f8">0</td><td cla ss="ctr2" id="g5">14</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i4">26</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k0">13</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a5"><a href="LookupTranslator.html" class="el_class">LookupTranslator</a></td><td class="bar" id="b7"><img src="../jacoco-resources/greenbar.gif" width="4" height="10" title="132" alt="132"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d5"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="1" alt="1"/><img src="../jacoco-resources/greenbar.gif" width="37" height="10" title="15" alt="15"/></td><td class="ctr2" id="e6">94%</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g7">10</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i3">28</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k9">2</td><td class="ctr1" id="l7">0</td><td class="ctr2" id="m7">1</td></tr><tr><td id="a12"><a href="UnicodeUnescaper.html" class="el_class">UnicodeUnescaper</a></td><td class="bar" id="b8"><img src="../jacoco-resources/greenbar.gif" width="4" height="10" title="119" alt="119"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d4"><img src="../jacoco-resources/redbar.gif" width="5" height="10" title="2" alt="2"/><img src="../jacoco-resources/greenbar.gif" width="35" height="10" title="14" alt="14"/></td><td class="ctr2" id="e9">88%</td><td class="ctr1" id="f5">2</td><td class="ctr2" id="g8">10</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i8">17</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k10">2</td><td class="ctr1" id="l8">0</td><td class="ctr2" id="m8">1</td></tr><tr><td id="a6"><a href="NumericEntityEscaper.html" class="el_class">NumericEntityEscaper</a></td><td class="bar" id="b9"><img src="../jacoco-resources/greenbar.gif" width="2" height="10" title="76" alt="76"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d7"><img src="../jacoco-resources/greenbar.gif " width="25" height="10" title="10" alt="10"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f9">0</td><td class="ctr2" id="g6">12</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i6">20</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k2">7</td><td class="ctr1" id="l9">0</td><td class="ctr2" id="m9">1</td></tr><tr><td id="a0"><a href="AggregateTranslator.html" class="el_class">AggregateTranslator</a></td><td class="bar" id="b10"><img src="../jacoco-resources/greenbar.gif" width="1" height="10" title="57" alt="57"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d8"><img src="../jacoco-resources/greenbar.gif" width="25" height="10" title="10" alt="10"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f10">0</td><td class="ctr2" id="g9">7</td><td class="ctr1" id="h10">0</td><td class="ctr2" id="i9">13</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k11">2</td><td class="ctr1" id="l10">0</td><td class="ctr2" id="m10">1</td></tr ><tr><td id="a4"><a href="JavaUnicodeEscaper.html" >class="el_class">JavaUnicodeEscaper</a></td><td class="bar" id="b11"><img >src="../jacoco-resources/greenbar.gif" width="1" height="10" title="50" >alt="50"/></td><td class="ctr2" id="c5">100%</td><td class="bar" >id="d13"/><td class="ctr2" id="e13">n/a</td><td class="ctr1" >id="f11">0</td><td class="ctr2" id="g10">6</td><td class="ctr1" >id="h11">0</td><td class="ctr2" id="i10">8</td><td class="ctr1" >id="j11">0</td><td class="ctr2" id="k4">6</td><td class="ctr1" >id="l11">0</td><td class="ctr2" id="m11">1</td></tr><tr><td id="a2"><a >href="CodePointTranslator.html" >class="el_class">CodePointTranslator</a></td><td class="bar" id="b12"/><td >class="ctr2" id="c6">100%</td><td class="bar" id="d11"><img >src="../jacoco-resources/greenbar.gif" width="5" height="10" title="2" >alt="2"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" >id="f12">0</td><td class="ctr2" id="g13">3</td><td class="ctr1" >id="h12">0</td><td class="ctr2" id="i11">4</t d><td class="ctr1" id="j12">0</td><td class="ctr2" id="k12">2</td><td class="ctr1" id="l12">0</td><td class="ctr2" id="m12">1</td></tr><tr><td id="a13"><a href="UnicodeUnpairedSurrogateRemover.html" class="el_class">UnicodeUnpairedSurrogateRemover</a></td><td class="bar" id="b13"/><td class="ctr2" id="c7">100%</td><td class="bar" id="d9"><img src="../jacoco-resources/greenbar.gif" width="10" height="10" title="4" alt="4"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f13">0</td><td class="ctr2" id="g12">4</td><td class="ctr1" id="h13">0</td><td class="ctr2" id="i12">4</td><td class="ctr1" id="j13">0</td><td class="ctr2" id="k13">2</td><td class="ctr1" id="l13">0</td><td class="ctr2" id="m13">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.7.201606060606</span></div></body></html> \ No newline at end of file +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>org.apache.commons.text.translate</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">Apache Commons Text</a> > <span class="el_package">org.apache.commons.text.translate</span></div><h1>org.apache.commons.text.translate</h 1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this) ">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">69 of 2,889</td><td class="ctr2">98%</td><td class="bar">20 of 204</td><td class="ctr2">90%</td><td class="ctr1">25</td><td class="ctr2">164</td><td class="ctr1">12</td><td class="ctr2">575</td><td class="ctr1">5</td><td class="ctr2">62</td><td class="ctr1">0</td><td class="ctr2">18</td></tr></tfoot><tbody><tr><td id="a1"><a href="CharSequenceTranslator.html" class="el_class">CharSequenceTranslator</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="28" alt="28"/><img src="../jacoco-resources/greenbar.gif" width="14" height="10" title="163" alt="163"/></td><td class="ctr2" id="c17">85%</td><td class="bar" id="d3"><img src="../jacoco-resources/redbar.gif" width="5" height="10" title="2" alt="2"/><img src="../jacoco-resources/greenbar.gif" width="40" height="10" title="16" alt="16"/></td><td class="ctr2" id="e9">89%</td><td class="ctr1" id="f3">3</td><td class="ctr2" id="g3">15</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i3">36</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k2">6</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a15"><a href="UnicodeEscaper.html" class="el_class">UnicodeEscaper</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="1" height="10" title="16" alt="16"/><img src="../jacoco-resources/greenbar.gif" width="9" height="10" title="105" alt="105"/></td><td class="ctr2" id="c16">87%</td><td class="bar" id="d8"><img src="../jacoco-resources/greenbar.gif" width="30" height="10" title="12" alt="12"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f4">2</td><td class="ctr2" id="g4">14</td><td class="ctr1" id="h1">3</td><td class="ctr2" id="i5">25</td><td class="ctr1" id="j0">2</td><td class="ctr2" id="k0">8</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a13"><a href="SingleLookupTranslator.html" class ="el_class">SingleLookupTranslator</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="19" height="10" title="218" alt="218"/></td><td class="ctr2" id="c11">97%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="4" alt="4"/><img src="../jacoco-resources/greenbar.gif" width="65" height="10" title="26" alt="26"/></td><td class="ctr2" id="e11">87%</td><td class="ctr1" id="f1">4</td><td class="ctr2" id="g1">17</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i1">50</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k9">2</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a8"><a href="LookupTranslator.html" class="el_class">LookupTranslator</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="10" height="10" title="123" alt="123"/></td><td class="ctr2" id="c12">96%</td><td class="bar" id="d5"><img src="../jacoco-resources/redbar.gif" wi dth="2" height="10" title="1" alt="1"/><img src="../jacoco-resources/greenbar.gif" width="37" height="10" title="15" alt="15"/></td><td class="ctr2" id="e7">94%</td><td class="ctr1" id="f6">1</td><td class="ctr2" id="g6">10</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i4">31</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k10">2</td><td class="ctr1" id="l3">0</td><td class="ctr2" id="m3">1</td></tr><tr><td id="a11"><a href="NumericEntityUnescaper$OPTION.html" class="el_class">NumericEntityUnescaper.OPTION</a></td><td class="bar" id="b4"><img src="../jacoco-resources/greenbar.gif" width="3" height="10" title="43" alt="43"/></td><td class="ctr2" id="c15">90%</td><td class="bar" id="d15"/><td class="ctr2" id="e15">n/a</td><td class="ctr1" id="f7">1</td><td class="ctr2" id="g12">4</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i17">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k4">4</td><td class="ctr1" id="l4">0</td><td class="ctr2" id="m4">1</td ></tr><tr><td id="a3"><a href="CsvTranslators.html" >class="el_class">CsvTranslators</a></td><td class="bar" id="b5"><img >src="../jacoco-resources/greenbar.gif" width="2" height="10" title="32" >alt="32"/></td><td class="ctr2" id="c14">91%</td><td class="bar" >id="d16"/><td class="ctr2" id="e16">n/a</td><td class="ctr1" >id="f8">1</td><td class="ctr2" id="g17">2</td><td class="ctr1" >id="h4">1</td><td class="ctr2" id="i14">4</td><td class="ctr1" >id="j3">1</td><td class="ctr2" id="k11">2</td><td class="ctr1" >id="l5">0</td><td class="ctr2" id="m5">1</td></tr><tr><td id="a10"><a >href="NumericEntityUnescaper.html" >class="el_class">NumericEntityUnescaper</a></td><td class="bar" id="b6"><img >src="../jacoco-resources/greenbar.gif" width="17" height="10" title="203" >alt="203"/></td><td class="ctr2" id="c10">99%</td><td class="bar" >id="d0"><img src="../jacoco-resources/redbar.gif" width="12" height="10" >title="5" alt="5"/><img src="../jacoco-resources/greenbar.gif" width="107" >height="10" title=" 43" alt="43"/></td><td class="ctr2" id="e8">90%</td><td class="ctr1" id="f0">5</td><td class="ctr2" id="g0">27</td><td class="ctr1" id="h6">0</td><td class="ctr2" id="i2">41</td><td class="ctr1" id="j6">0</td><td class="ctr2" id="k6">3</td><td class="ctr1" id="l6">0</td><td class="ctr2" id="m6">1</td></tr><tr><td id="a14"><a href="SinglePassTranslator.html" class="el_class">SinglePassTranslator</a></td><td class="bar" id="b7"><img src="../jacoco-resources/greenbar.gif" width="3" height="10" title="38" alt="38"/></td><td class="ctr2" id="c13">95%</td><td class="bar" id="d7"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="1" alt="1"/><img src="../jacoco-resources/greenbar.gif" width="7" height="10" title="3" alt="3"/></td><td class="ctr2" id="e14">75%</td><td class="ctr1" id="f9">1</td><td class="ctr2" id="g10">5</td><td class="ctr1" id="h7">0</td><td class="ctr2" id="i13">7</td><td class="ctr1" id="j7">0</td><td class="ctr2" id="k7">3</td><td class="ctr1" id="l 7">0</td><td class="ctr2" id="m7">1</td></tr><tr><td id="a12"><a href="OctalUnescaper.html" class="el_class">OctalUnescaper</a></td><td class="bar" id="b8"><img src="../jacoco-resources/greenbar.gif" width="10" height="10" title="115" alt="115"/></td><td class="ctr2" id="c9">99%</td><td class="bar" id="d2"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="4" alt="4"/><img src="../jacoco-resources/greenbar.gif" width="50" height="10" title="20" alt="20"/></td><td class="ctr2" id="e12">83%</td><td class="ctr1" id="f2">4</td><td class="ctr2" id="g2">16</td><td class="ctr1" id="h8">0</td><td class="ctr2" id="i7">17</td><td class="ctr1" id="j8">0</td><td class="ctr2" id="k5">4</td><td class="ctr1" id="l8">0</td><td class="ctr2" id="m8">1</td></tr><tr><td id="a6"><a href="EntityArrays.html" class="el_class">EntityArrays</a></td><td class="bar" id="b9"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="1,374" alt="1,374"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d12"><img src="../jacoco-resources/greenbar.gif" width="5" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">100%</td><td class="ctr1" id="f11">0</td><td class="ctr2" id="g13">4</td><td class="ctr1" id="h9">0</td><td class="ctr2" id="i0">280</td><td class="ctr1" id="j9">0</td><td class="ctr2" id="k8">3</td><td class="ctr1" id="l9">0</td><td class="ctr2" id="m9">1</td></tr><tr><td id="a16"><a href="UnicodeUnescaper.html" class="el_class">UnicodeUnescaper</a></td><td class="bar" id="b10"><img src="../jacoco-resources/greenbar.gif" width="10" height="10" title="119" alt="119"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d4"><img src="../jacoco-resources/redbar.gif" width="5" height="10" title="2" alt="2"/><img src="../jacoco-resources/greenbar.gif" width="35" height="10" title="14" alt="14"/></td><td class="ctr2" id="e10">88%</td><td class="ctr1" id="f5">2</td><td class="ctr2" id="g7">10</td><td class="ctr1" id="h10">0</td> <td class="ctr2" id="i8">17</td><td class="ctr1" id="j10">0</td><td class="ctr2" id="k12">2</td><td class="ctr1" id="l10">0</td><td class="ctr2" id="m10">1</td></tr><tr><td id="a9"><a href="NumericEntityEscaper.html" class="el_class">NumericEntityEscaper</a></td><td class="bar" id="b11"><img src="../jacoco-resources/greenbar.gif" width="6" height="10" title="76" alt="76"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d9"><img src="../jacoco-resources/greenbar.gif" width="25" height="10" title="10" alt="10"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" id="f12">0</td><td class="ctr2" id="g5">12</td><td class="ctr1" id="h11">0</td><td class="ctr2" id="i6">20</td><td class="ctr1" id="j11">0</td><td class="ctr2" id="k1">7</td><td class="ctr1" id="l11">0</td><td class="ctr2" id="m11">1</td></tr><tr><td id="a0"><a href="AggregateTranslator.html" class="el_class">AggregateTranslator</a></td><td class="bar" id="b12"><img src="../jacoco-resources/greenbar.gif" width=" 4" height="10" title="57" alt="57"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d10"><img src="../jacoco-resources/greenbar.gif" width="25" height="10" title="10" alt="10"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" id="f13">0</td><td class="ctr2" id="g8">7</td><td class="ctr1" id="h12">0</td><td class="ctr2" id="i9">13</td><td class="ctr1" id="j12">0</td><td class="ctr2" id="k13">2</td><td class="ctr1" id="l12">0</td><td class="ctr2" id="m12">1</td></tr><tr><td id="a7"><a href="JavaUnicodeEscaper.html" class="el_class">JavaUnicodeEscaper</a></td><td class="bar" id="b13"><img src="../jacoco-resources/greenbar.gif" width="4" height="10" title="50" alt="50"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d17"/><td class="ctr2" id="e17">n/a</td><td class="ctr1" id="f14">0</td><td class="ctr2" id="g9">6</td><td class="ctr1" id="h13">0</td><td class="ctr2" id="i11">8</td><td class="ctr1" id="j13">0</td><td class="ctr2" id="k3">6</td><td class="ctr1 " id="l13">0</td><td class="ctr2" id="m13">1</td></tr><tr><td id="a5"><a href="CsvTranslators$CsvUnescaper.html" class="el_class">CsvTranslators.CsvUnescaper</a></td><td class="bar" id="b14"><img src="../jacoco-resources/greenbar.gif" width="4" height="10" title="46" alt="46"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d6"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="1" alt="1"/><img src="../jacoco-resources/greenbar.gif" width="12" height="10" title="5" alt="5"/></td><td class="ctr2" id="e13">83%</td><td class="ctr1" id="f10">1</td><td class="ctr2" id="g11">5</td><td class="ctr1" id="h14">0</td><td class="ctr2" id="i10">9</td><td class="ctr1" id="j14">0</td><td class="ctr2" id="k14">2</td><td class="ctr1" id="l14">0</td><td class="ctr2" id="m14">1</td></tr><tr><td id="a4"><a href="CsvTranslators$CsvEscaper.html" class="el_class">CsvTranslators.CsvEscaper</a></td><td class="bar" id="b15"><img src="../jacoco-resources/greenbar.gif" width="2" height="10" title="27" alt="27"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d13"><img src="../jacoco-resources/greenbar.gif" width="5" height="10" title="2" alt="2"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" id="f15">0</td><td class="ctr2" id="g15">3</td><td class="ctr1" id="h15">0</td><td class="ctr2" id="i12">8</td><td class="ctr1" id="j15">0</td><td class="ctr2" id="k15">2</td><td class="ctr1" id="l15">0</td><td class="ctr2" id="m15">1</td></tr><tr><td id="a2"><a href="CodePointTranslator.html" class="el_class">CodePointTranslator</a></td><td class="bar" id="b16"><img src="../jacoco-resources/greenbar.gif" width="1" height="10" title="18" alt="18"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d14"><img src="../jacoco-resources/greenbar.gif" width="5" height="10" title="2" alt="2"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" id="f16">0</td><td class="ctr2" id="g16">3</td><td class="ctr1" id="h16">0</td><td class="ctr2" id="i1 5">4</td><td class="ctr1" id="j16">0</td><td class="ctr2" id="k16">2</td><td class="ctr1" id="l16">0</td><td class="ctr2" id="m16">1</td></tr><tr><td id="a17"><a href="UnicodeUnpairedSurrogateRemover.html" class="el_class">UnicodeUnpairedSurrogateRemover</a></td><td class="bar" id="b17"><img src="../jacoco-resources/greenbar.gif" width="1" height="10" title="13" alt="13"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d11"><img src="../jacoco-resources/greenbar.gif" width="10" height="10" title="4" alt="4"/></td><td class="ctr2" id="e6">100%</td><td class="ctr1" id="f17">0</td><td class="ctr2" id="g14">4</td><td class="ctr1" id="h17">0</td><td class="ctr2" id="i16">4</td><td class="ctr1" id="j17">0</td><td class="ctr2" id="k17">2</td><td class="ctr1" id="l17">0</td><td class="ctr2" id="m17">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.eclemma.org/jacoco">JaCoCo</a> 0.7.7.201606060606</span></div></body></html> \ No newline at end of file