Coverage Report - org.webslinger.ext.wiki.parser.WikiCharacterLiteral
 
Classes in this File Line Coverage Branch Coverage Complexity
WikiCharacterLiteral
0%
0/27
0%
0/3
2.75
 
 1  
 package org.webslinger.ext.wiki.parser;
 2  
 
 3  
 public class WikiCharacterLiteral extends SimpleNode implements Literal {
 4  
     protected char value;
 5  
 
 6  
     public WikiCharacterLiteral(int id) {
 7  0
         super(id);
 8  0
     }
 9  
 
 10  
     public WikiCharacterLiteral(Wiki p, int id) {
 11  0
         super(p, id);
 12  0
     }
 13  
 
 14  
     public char getValue() {
 15  0
         return value;
 16  
     }
 17  
 
 18  
     public void setValue(char value) {
 19  0
         this.value = value;
 20  0
     }
 21  
 
 22  
     public void setStringValue(String value) {
 23  0
         if (value == null) throw new IllegalArgumentException("null not supported");
 24  0
         String origValue = value;
 25  0
         value = value.substring(1, value.length() - 1);
 26  0
         switch (value.length()) {
 27  0
             case 1:     setValue(value.charAt(0)); break;
 28  
             case 2:
 29  0
                 switch (value.charAt(1)) {
 30  0
                     case 'b':   setValue('\b'); break;
 31  0
                     case 'f':   setValue('\f'); break;
 32  0
                     case 'n':   setValue('\n'); break;
 33  0
                     case 'r':   setValue('\r'); break;
 34  0
                     case 't':   setValue('\t'); break;
 35  0
                     case '\\':  setValue('\\'); break;
 36  0
                     case '\'':  setValue('\''); break;
 37  0
                     case '\"':  setValue('"'); break;
 38  0
                     default:    throw new IllegalArgumentException("'" + value + "' not supported");
 39  
                 }
 40  
                 break;
 41  0
             default:    throw new IllegalArgumentException(origValue + "(" + origValue.length() + ") not supported");
 42  
         }
 43  0
     }
 44  
 
 45  
     public String getStringValue() {
 46  0
         return Character.toString(getValue());
 47  
     }
 48  
 
 49  
     public Object jjtAccept(WikiVisitor visitor, Object data) {
 50  0
         return visitor.visit(this, data);
 51  
     }
 52  
 
 53  
     public String toString() {
 54  0
         return super.toString() + '(' + getValue() + ')';
 55  
     }
 56  
 }