@Override public void resolve(SearchKeywordContext context, UIComponent current, String keyword) { try { Matcher matcher = PATTERN.matcher(keyword); if (matcher.matches()) { WidgetVarVisitCallback visitCallback = new WidgetVarVisitCallback(matcher.group(1)); context.getSearchExpressionContext().getFacesContext().getViewRoot().visitTree( SearchExpressionUtils.createVisitContext( context.getSearchExpressionContext().getFacesContext(), SearchExpressionHint.SKIP_UNRENDERED), visitCallback); context.invokeContextCallback(visitCallback.getComponent()); } else { throw new FacesException("Expression does not match following pattern @widgetVar(var). Expression: \"" + keyword + "\""); } } catch (Exception e) { throw new FacesException("Expression does not match following pattern @widgetVar(var). Expression: \"" + keyword + "\"", e); } } }
@Override public void invokeOnComponent(SearchExpressionContext searchExpressionContext, UIComponent previous, String expression, ContextCallback callback) { getWrapped().invokeOnComponent(searchExpressionContext, previous, expression, callback); }
@Override public void resolveComponent(SearchExpressionContext searchExpressionContext, String expression, ContextCallback callback) { getWrapped().resolveComponent(searchExpressionContext, expression, callback); }
@Override public void resolveComponents(SearchExpressionContext searchExpressionContext, String expressions, ContextCallback callback) { getWrapped().resolveComponents(searchExpressionContext, expressions, callback); }
@Override public char[] getExpressionSeperatorChars(FacesContext context) { return getWrapped().getExpressionSeperatorChars(context); }
@Override public String[] splitExpressions(FacesContext context, String expressions) { return getWrapped().splitExpressions(context, expressions); }
@Override public boolean isPassthroughExpression(SearchExpressionContext searchExpressionContext, String expression) { return getWrapped().isPassthroughExpression(searchExpressionContext, expression); }
@Override public List<String> resolveClientIds(SearchExpressionContext searchExpressionContext, String expressions) { return getWrapped().resolveClientIds(searchExpressionContext, expressions); }
@Override public boolean isValidExpression(SearchExpressionContext searchExpressionContext, String expression) { return getWrapped().isValidExpression(searchExpressionContext, expression); }
@Override public String resolveClientId(SearchExpressionContext searchExpressionContext, String expression) { return getWrapped().resolveClientId(searchExpressionContext, expression); }
@Override public void invokeOnComponent(SearchExpressionContext searchExpressionContext, UIComponent previous, String expression, ContextCallback topCallback) { getWrapped().invokeOnComponent(searchExpressionContext, previous, expression, topCallback); }
@Override public void resolveComponent(SearchExpressionContext searchExpressionContext, String expression, ContextCallback callback) { getWrapped().resolveComponent(searchExpressionContext, expression, callback); }
@Override public void resolveComponents( SearchExpressionContext searchExpressionContext, String expressions, ContextCallback callback) { getWrapped().resolveComponents(searchExpressionContext, expressions, callback); }
@Override public char[] getExpressionSeperatorChars(FacesContext context) { return getWrapped().getExpressionSeperatorChars(context); } }
@Override public void invokeOnComponent(SearchExpressionContext searchExpressionContext, String expression, ContextCallback callback) { getWrapped().invokeOnComponent(searchExpressionContext, expression, callback); }
@Override public void resolveComponent(SearchExpressionContext searchExpressionContext, String expression, ContextCallback callback) { getWrapped().resolveComponent(searchExpressionContext, expression, callback); }
@Override public void resolveComponents(SearchExpressionContext searchExpressionContext, String expressions, ContextCallback callback) { getWrapped().resolveComponents(searchExpressionContext, expressions, callback); }
@Override public void invokeOnComponent(SearchExpressionContext searchExpressionContext, String expression, ContextCallback topCallback) { getWrapped().invokeOnComponent(searchExpressionContext, expression, topCallback); }
@Override public void resolveComponent(SearchExpressionContext searchExpressionContext, String expression, ContextCallback callback) { getWrapped().resolveComponent(searchExpressionContext, expression, callback); }
@Override public void invokeOnComponent(SearchExpressionContext searchExpressionContext, String expression, ContextCallback callback) { getWrapped().invokeOnComponent(searchExpressionContext, expression, callback); }