protected T init() { return Unchecked.call(supplier); }
protected String getCanonicalPath(File file) { return Unchecked.call(file::getCanonicalPath); }
public static <T> T call(Callable<T> callable) { return call(callable, null); }
protected T init() { return Unchecked.call(supplier); }
public static Tag createTag(String name) { Class<? extends Tag> c = taglib.get(name); if (c == null) return null; return Unchecked.call(c::newInstance); }
protected String encodeName(String name) { return Unchecked.call(() -> URLEncoder.encode(name, "utf-8").replace("+", "%20")); }
@Override public boolean append(StringBuilder sb, Map params) { Object value = params.remove(param); if (optional && value == null) return false; if (prefix != null) sb.append(prefix); sb.append(Unchecked.call(() -> URLEncoder.encode(String.valueOf(value), "utf-8"))); return true; } }
private String decodePath(String path) { return Unchecked.call(() -> URLDecoder.decode(VERSION_PATTERN.matcher(path).replaceAll(""), "utf-8")); }
@Override public Object get(Map<String, Object> model) { return Unchecked.call(() -> aClass.newInstance().render((Map<String, Object>) model.get("attrs"))); } }, "attrs");
public Tag addIf(boolean check, Callable<Tag> closure) { if (check) add(Unchecked.call(closure)); return this; }
public DecoratorLib(List<Class> l) { for (Class c : l) { if (Decorator.class.isAssignableFrom(c) && c != Decorator.class) { decorators.add(Unchecked.call(() -> (Decorator) c.newInstance())); } } decorators.sort((o1, o2) -> Integer.compare(o2.priority(), o1.priority())); }
private CollectionTools.Closure2<Renderer, T, Object[]> createInvoker(Method method) { if (Renderer.class.isAssignableFrom(method.getReturnType())) return (it, args) -> Unchecked.call(() -> (Renderer) method.invoke(it, args)); if (Model.class.isAssignableFrom(method.getReturnType()) && viewRenderingService.hasView(controllerName, actionName)) { return (it, args) -> Unchecked.call(() -> { method.invoke(it, args); return it.renderView(actionName); }); } if (String.class.isAssignableFrom(method.getReturnType())) return (it, args) -> Unchecked.call(() -> it.renderString((String) method.invoke(it, args))); if (ReadableData.class.isAssignableFrom(method.getReturnType())) return (it, args) -> Unchecked.call(() -> it.renderData((ReadableData) method.invoke(it, args))); if (byte[].class.isAssignableFrom(method.getReturnType())) return (it, args) -> Unchecked.call(() -> it.renderData((byte[]) method.invoke(it, args))); if (!PARSABLE_TYPES.contains(method.getReturnType()) && !method.getReturnType().isPrimitive()) return (it, args) -> Unchecked.call(() -> it.renderJson(method.invoke(it, args))); if (method.getReturnType() == Void.TYPE) return (it, args) -> Unchecked.call(() -> { method.invoke(it, args); return null; }); throw new IllegalStateException("Cannot create renderer for " + method.getReturnType()); }
public Date headerDate(Header header) { String s = header(header); if (s == null) return null; return Unchecked.call(() -> HttpDateFormatterHolder.get().parse(s)); }
sb.append(param.getKey()) .append("=") .append(Unchecked.call(() -> URLEncoder.encode(String.valueOf(param.getValue()), "utf-8")));
public T getRaw(Map<String, Object> model) { if (!prepared) { synchronized (this) { if (!prepared) { Unchecked.run(() -> { if (stringTemplate) expression = EvalTools.prepare(string, model, TagLib.getTagFunctions(), imports, true); else { Matcher m = p.matcher(string); if (m.matches()) { String exp = m.group(1); if (exp == null) { exp = m.group(2); } if (exp == null) { exp = m.group(3); } expression = EvalTools.prepare(exp, model, TagLib.getTagFunctions(), imports); } else expression = EvalTools.prepare(string, model, TagLib.getTagFunctions(), imports); } setVariables(expression); }); prepared = true; } } } return Unchecked.call(() -> (T) expression.get(model)); }
public String get() { return Unchecked.call(() -> makeRequest(path()).get().asString()); }