package org.bndtools.core.templates.enroute;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.Map;
import org.bndtools.templating.Resource;
import org.bndtools.templating.ResourceType;
import org.bndtools.utils.copy.ResourceReplacer;
public class RegexReplacingResource implements Resource {
private final URL url;
private final Map<String,String> replaceRegularExpressions;
private final String encoding;
public RegexReplacingResource(URL url, Map<String,String> replaceRegularExpressions, String encoding) {
this.replaceRegularExpressions = replaceRegularExpressions;
this.url = url;
this.encoding = encoding;
}
@Override
public ResourceType getType() {
return ResourceType.File;
}
@Override
public InputStream getContent() throws IOException {
if (replaceRegularExpressions == null || replaceRegularExpressions.isEmpty())
return url.openStream();
ResourceReplacer replacer = new ResourceReplacer(replaceRegularExpressions, url);
replacer.start();
return replacer.getStream();
}
@Override
public String getTextEncoding() {
return encoding;
}
}