Package org.atc.tools.ant.parsers

Source Code of org.atc.tools.ant.parsers.GenericItemParser

package org.atc.tools.ant.parsers;

import org.atc.tools.ant.Item;

public class GenericItemParser implements ItemParser {

  public Item parse(String line) {
    //The content of the todo, e.g. "Refactor" in TODO Refactor
    String content = "";
    Item item = new Item();

    //TODO: this was a "simplest implementation" quick hack; make this more scalable and elegant
    // It allowed me to unit test and prove it was possible, but it's not brilliant!
    //We do tests on the upper-case lines, so we include lower case TODOs or FIXMEs;
    //The substrings, however, are performed on the original line so the comments case is preserved
    String upperCaseLine = line.toUpperCase();
    if (upperCaseLine.contains("TODO")) {
      item.setType(Item.ItemType.TODO);
      content = line.substring(upperCaseLine.indexOf("TODO") + 4);
    } else if (upperCaseLine.contains("FIXME")) {
      item.setType(Item.ItemType.FIXME);
      content = line.substring(upperCaseLine.indexOf("FIXME") + 5);
    }
    item.setContent(content);
    return item;
  }

  public boolean containsItem(String line) {
    String lineUpperCase = line.toUpperCase();
    return (line.contains("//") || line.contains("/*") || line.contains("#") || line.startsWith("*")) &&
        (lineUpperCase.contains("TODO") || lineUpperCase.contains("FIXME"));
  }

}
TOP

Related Classes of org.atc.tools.ant.parsers.GenericItemParser

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.