public HttpRequestHandlerRegistry() { matcher = new UriPatternMatcher(); }
public HttpRequestHandler lookup(final String requestURI) { return (HttpRequestHandler) matcher.lookup(requestURI); }
/** * @deprecated use {@link UriPatternMatcher} directly */ @Deprecated protected boolean matchUriRequestPattern(final String pattern, final String requestUri) { return matcher.matchUriRequestPattern(pattern, requestUri); }
public void register(final String pattern, final HttpRequestHandler handler) { matcher.register(pattern, handler); }
public void unregister(final String pattern) { matcher.unregister(pattern); }
public void setHandlers(final Map map) { matcher.setHandlers(map); }
/** * Sets handlers from the given map. * @param map the map containing handlers keyed by their URI patterns. */ public void setHandlers(final Map<String, HttpRequestHandler> map) { matcher.setObjects(map); }
/** * Get the handler map. * @return The map of handlers and their associated URI patterns. * * @since 4.2 */ public Map<String, HttpRequestHandler> getHandlers() { return matcher.getObjects(); }
/** * Registers the given {@link HttpAsyncRequestHandler} as a handler for URIs * matching the given pattern. * * @param pattern the pattern to register the handler for. * @param handler the handler. */ public void register(final String pattern, final HttpAsyncRequestHandler<?> handler) { matcher.register(pattern, handler); }
/** * Removes registered handler, if exists, for the given pattern. * * @param pattern the pattern to unregister the handler for. */ public void unregister(final String pattern) { matcher.unregister(pattern); }
public void setHandlers(final Map map) { matcher.setHandlers(map); }
/** * Sets handlers from the given map. * @param map the map containing handlers keyed by their URI patterns. */ public void setHandlers(final Map<String, HttpRequestHandler> map) { matcher.setObjects(map); }
/** * Get the handler map. * @return The map of handlers and their associated URI patterns. * * @since 4.2 */ public Map<String, HttpRequestHandler> getHandlers() { return matcher.getObjects(); }
public Object lookup(String requestURI) { if (requestURI == null) { throw new IllegalArgumentException("Request URI may not be null"); } //Strip away the query part part if found int index = requestURI.indexOf("?"); if (index != -1) { requestURI = requestURI.substring(0, index); } // direct match? Object handler = this.handlerMap.get(requestURI); if (handler == null) { // pattern match? String bestMatch = null; for (Iterator it = this.handlerMap.keySet().iterator(); it.hasNext();) { String pattern = (String) it.next(); if (matchUriRequestPattern(pattern, requestURI)) { // we have a match. is it any better? if (bestMatch == null || (bestMatch.length() < pattern.length()) || (bestMatch.length() == pattern.length() && pattern.endsWith("*"))) { handler = this.handlerMap.get(pattern); bestMatch = pattern; } } } } return handler; }
public UriHttpAsyncRequestHandlerMapper() { this(new UriPatternMatcher<HttpAsyncRequestHandler<?>>()); }
/** * Registers the given {@link HttpAsyncRequestHandler} as a handler for URIs * matching the given pattern. * * @param pattern the pattern to register the handler for. * @param handler the handler. */ public void register(final String pattern, final HttpAsyncRequestHandler<?> handler) { matcher.register(pattern, handler); }
public HttpRequestHandler lookup(final String requestURI) { return (HttpRequestHandler) matcher.lookup(requestURI); }
/** * Removes registered handler, if exists, for the given pattern. * * @param pattern the pattern to unregister the handler for. */ public void unregister(final String pattern) { matcher.unregister(pattern); }
public void setHandlers(final Map map) { matcher.setHandlers(map); }
/** * Sets handlers from the given map. * @param map the map containing handlers keyed by their URI patterns. */ public void setHandlers(final Map<String, HttpRequestHandler> map) { matcher.setObjects(map); }