package mapmaker; import java.util.*; import util.*; public class DescParser { private CompositeFilter filter = new CompositeFilter(); /** adds a string to the set of comment strings; * lines that start with a comment string will be ignored * when parsing a text */ public void addCommentString(String commentString) { filter.addFilter(new CommentFilter(commentString)); } // addCommentString /** returns wether the given string starts with a commentString * @param s must not be null */ public boolean isComment(String s) { return !filter.accept(s); } // isComment /** returns the first non-comment line of the given text * or "" if no such line exists */ public String getName(Text desc) { Text filtered = filterDesc(desc); if (filtered.getLineCount() == 0) return ""; else return filtered.getLine(0); } // getName /** filters the coment lines out of the given descriptions */ public Text filterDesc(Text desc) { return filter.filter(desc); } // filterDesc } // DescParser