Coverage Report - org.webslinger.ext.wiki.parser.WikiStringLiteral
 
Classes in this File Line Coverage Branch Coverage Complexity
WikiStringLiteral
0%
0/29
0%
0/3
1.667
 
 1  
 package org.webslinger.ext.wiki.parser;
 2  
 
 3  
 public class WikiStringLiteral extends SimpleNode implements Literal {
 4  
     protected String value;
 5  
 
 6  
     public WikiStringLiteral(int id) {
 7  0
         super(id);
 8  0
     }
 9  
 
 10  
     public WikiStringLiteral(Wiki p, int id) {
 11  0
         super(p, id);
 12  0
     }
 13  
 
 14  
     public String getValue() {
 15  0
         return value;
 16  
     }
 17  
 
 18  
     public void setValue(String value) {
 19  0
         this.value = value;
 20  0
     }
 21  
 
 22  
     public void setStringValue(String value) {
 23  0
         setValue(filterString(value, 1, value.length() - 1));
 24  0
     }
 25  
 
 26  
     public static String filterString(String value) {
 27  0
         return filterString(value, 0, value.length());
 28  
     }
 29  
 
 30  
     public static String filterString(String value, int start, int end) {
 31  0
         return filterString(new StringBuilder(value), start, end).toString();
 32  
     }
 33  
 
 34  
     public static StringBuilder filterString(StringBuilder value) {
 35  0
         return filterString(value, 0, value.length());
 36  
     }
 37  
 
 38  
     public static StringBuilder filterString(StringBuilder value, int start, int end) {
 39  0
         StringBuilder sb = new StringBuilder();
 40  0
         for (int i = start; i < end; i++) {
 41  0
             char c = value.charAt(i);
 42  0
             switch (c) {
 43  
                 case '\\':
 44  0
                     switch (value.charAt(++i)) {
 45  0
                         case '"': sb.append('"'); break;
 46  0
                         case '\\': sb.append('\\'); break;
 47  0
                         case 'r': sb.append('\r'); break;
 48  0
                         case 'n': sb.append('\n'); break;
 49  0
                         case 't': sb.append('\t'); break;
 50  0
                         case 'f': sb.append('\f'); break;
 51  
                     }
 52  0
                     break;
 53  
                 default:
 54  0
                     sb.append(c);
 55  
             }
 56  
         }
 57  0
         return sb;
 58  
     }
 59  
 
 60  
     public String getStringValue() {
 61  0
         return getValue();
 62  
     }
 63  
 
 64  
     public Object jjtAccept(WikiVisitor visitor, Object data) {
 65  0
         return visitor.visit(this, data);
 66  
     }
 67  
 
 68  
     public String toString() {
 69  0
         return super.toString() + '(' + getValue() + ')';
 70  
     }
 71  
 }