/******************************************************************************* * Copyright (c) 2010 Robert "Unlogic" Olofsson (unlogic@unlogic.se). * All rights reserved. This program and the accompanying materials * are made available under the terms of the GNU Lesser Public License v3 * which accompanies this distribution, and is available at * http://www.gnu.org/licenses/lgpl-3.0-standalone.html ******************************************************************************/ package se.unlogic.standardutils.string; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class TagReplacer { private List<TagSource> tagSources; public TagReplacer() { tagSources = new ArrayList<TagSource>(); } public TagReplacer(List<TagSource> tagSources) { super(); this.tagSources = new ArrayList<TagSource>(tagSources); } public TagReplacer(TagSource... tagSources) { super(); this.tagSources = new ArrayList<TagSource>(Arrays.asList(tagSources)); } public boolean addTagSource(TagSource o) { if(tagSources == null){ tagSources = new ArrayList<TagSource>(); } return tagSources.add(o); } public boolean removeTagSource(TagSource o) { if(tagSources == null){ return false; } return tagSources.remove(o); } public String replace(String source){ for(TagSource tagSource : tagSources){ for(String tag : tagSource.getTags()){ if(source.contains(tag)){ String value = tagSource.getTagValue(tag); if(value == null){ value = ""; } source = source.replace(tag, value); } } } return source; } }