package com.aggrepoint.winlet; import java.util.HashMap; import java.util.function.BiFunction; import javax.servlet.http.HttpServletRequest; public class StaticUrlProviderImpl implements StaticUrlProvider { HashMap<String, String> propertyMetas; HashMap<String, String> nameMetas; BiFunction<String, String, String> getUrl; public StaticUrlProviderImpl(HttpServletRequest req, BiFunction<String, String, String> getUrl) { req.setAttribute(REQ_ATTR_KEY, this); this.getUrl = getUrl; } public void addPropertyMeta(String property, String content) { if (propertyMetas == null) propertyMetas = new HashMap<String, String>(); propertyMetas.put(property, content); } public void addNameMeta(String name, String content) { if (nameMetas == null) nameMetas = new HashMap<String, String>(); nameMetas.put(name, content); } @Override public HashMap<String, String> getPropertyMetas() { return propertyMetas; } @Override public HashMap<String, String> getNameMetas() { return nameMetas; } @Override public String getUrl(String param, String value) { return getUrl.apply(param, value); } }