private TokenResolver _bindToken(String token, String value) { return _acquireTokenResolver().bind(token, value); }
private <T> TokenResolver _addTokenBinder(TokenBinder<T> callback) { return _acquireTokenResolver().binder(callback); }
private void _clearTokenBindings() { TokenResolver tr = _getTokenResolver(); if (tr != null) { tr.clear(); tokenResolver.remove(); } }
String value = tokenResolver.resolve(conditional, object);
private String resolveQueryString(String query, TokenResolver tokenResolver) { if (tokenResolver != null) { String[] resolved = tokenResolver.resolveMulti(query); String all = Strings.join(queryDelimiter(true), resolved); return (Strings.hasToken(all) ? null : all); } return null; }
/** * Build a URL, resolving any tokens using the given TokenResolver. Additionally, * will call any TokenBinders for the given Object instance to bind values from * it into the URL. * * @param urlPattern a URL pattern, with optional tokens. * @param object an object of which to bind properties into the URL parameters. * @param tokenResolver a TokenResolver to perform token substitution. * @return a URL string. */ public String build(String urlPattern, Object object, TokenResolver tokenResolver) { if (tokenResolver == null) { return appendQueryString(urlPattern, null); } String url = tokenResolver.resolve(urlPattern, object); return appendQueryString(url, tokenResolver); }
private void bindAnnotatedProperty(BindToken annotation, Object field, TokenResolver resolver) throws InstantiationException, IllegalAccessException { Class<? extends TokenFormatter> formatterClass = annotation.formatter(); TokenFormatter formatter = formatters.get(formatterClass); if (formatter == null) { formatter = formatterClass.newInstance(); formatters.put(formatterClass, formatter); } resolver.bind(annotation.value(), formatter.format(field)); } }
@Override public void bind(Vehicle entity, TokenResolver resolver) { resolver.bind(Constants.Url.VEHICLE_ID, Identifiers.MONGOID.format(entity.getId())); } });
@Override public void bind(Comment entity, TokenResolver resolver) { resolver.bind(Constants.Url.BLOG_ID_PARAMETER, UUID.format(blog.getUuid())); } });
@Override public void bind(Record entity, TokenResolver resolver) { resolver.bind(Constants.Url.RECORD_ID, Identifiers.MONGOID.format(entity.getId())); } });
@Override public void bind(Transaction entity, TokenResolver resolver) { resolver.bind(Constants.Url.TRANSACTION_ID, Identifiers.MONGOID.format(entity.getId())); } });
@Override public void bind(Client entity, TokenResolver resolver) { resolver.bind(Constants.Url.CLIENT_ID, Identifiers.MONGOID.format(entity.getId())); } });