public static Tagset parseTags(String tags) { Tagset set = new Tagset(); for (String tag : tags.split("[\\n\\r\\s,]+")) { if (tag.length() != 0) { set.add(tag); } } return set; }
@Override public boolean equals(Object o) { if (o == null) return false; if (o == this) return true; if (o instanceof Tagset) { Tagset set = (Tagset) o; if (set.size() != size()) { return false; } return set.set.equals(this.set); } return false; }
public Tagset filterPrefix(String prefix, boolean positive, boolean removePrefix) { if (prefix == null) { throw new IllegalArgumentException("prefix == null"); } Tagset set = new Tagset(); for (Tag tag : this) { if (tag.normalizedValue().startsWith(prefix) == positive) { if (positive && removePrefix) { String str = tag.normalizedValue().substring(prefix.length()); if (str.length() != 0) set.add(str); } else { set.add(tag); } } } return set; }