Advertisement
Guest User

Untitled

a guest
Feb 17th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.92 KB | None | 0 0
  1. private void parseValue(StringBuilder value) {
  2.         if (getChar() != FileSource.END) {
  3.             switch (getChar()) {
  4.                 case '*':
  5.                     next();
  6.                     if (getChar() == '*') {
  7.                         next();
  8.                         getNewTag("**", value);
  9.                     } else {
  10.                         getNewTag("*", value);
  11.                     }
  12.                     break;
  13.                 case '_':
  14.                     next();
  15.                     if (getChar() == '_') {
  16.                         next();
  17.                         getNewTag("__", value);
  18.                     } else {
  19.                         getNewTag("_", value);
  20.                     }
  21.                     break;
  22.                 case '`':
  23.                     next();
  24.                     getNewTag("`", value);
  25.                 case '-':
  26.                     next();
  27.                     if (getChar() == '-') {
  28.                         next();
  29.                         getNewTag("--", value);
  30.                     } else {
  31.                         value.append('-');
  32.                     }
  33.                     break;
  34.                 default:
  35.                     value.append(parseString());
  36.                     break;
  37.             }
  38.             parseValue(value);
  39.         }
  40.     }
  41.  
  42.     private void getNewTag(String openTag, StringBuilder value) {
  43.         String curTag = String.valueOf(getChar());
  44.         if (curTag.equals(openTag)) {
  45.             next();
  46.             getLineWithTags(openTag, value);
  47.         } else {
  48.             next();
  49.             if ((curTag + getChar()).equals(openTag)) {
  50.                 next();
  51.                 getLineWithTags(openTag, value);
  52.             } else {
  53.                 parseValue(value);
  54.             }
  55.         }
  56.     }
  57.  
  58.  
  59.     private void getLineWithTags(String tag, StringBuilder value) {
  60.         value.insert(0, createOpenTag(tag)).append(createClosedTag(tag));
  61.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement