protected boolean doVisitChildren(VisitContext context) { Collection<String> idsToVisit = context.getSubtreeIdsToVisit(this); return (!idsToVisit.isEmpty()); }
public static VisitContext createVisitContext(FacesContext context, int hints) { if (isHintSet(hints, SearchExpressionHint.SKIP_UNRENDERED)) { return VisitContext.createVisitContext(context, null, ComponentUtils.VISIT_HINTS_SKIP_UNRENDERED); } return VisitContext.createVisitContext(context); }
private boolean requiresRowIteration(VisitContext ctx) { try { //JSF 2.1 VisitHint skipHint = VisitHint.valueOf("SKIP_ITERATION"); return !ctx.getHints().contains(skipHint); } catch (IllegalArgumentException e) { //JSF 2.0 Object skipHint = ctx.getFacesContext().getAttributes().get("javax.faces.visit.SKIP_ITERATION"); return !Boolean.TRUE.equals(skipHint); } }
FacesContext facesContext = context.getFacesContext(); boolean visitNodes = requiresIteration(facesContext, context); VisitResult result = context.invokeVisitCallback(this, callback);
private boolean doVisitChildren(VisitContext context) { // Just need to check whether there are any ids under this // subtree. Make sure row index is cleared out since // getSubtreeIdsToVisit() needs our row-less client id. // // We only need to position if row iteration is actually needed. // if (requiresRowIteration(context)) { setIndex(context.getFacesContext(), -1); } Collection<String> idsToVisit = context.getSubtreeIdsToVisit(this); assert (idsToVisit != null); // All ids or non-empty collection means we need to visit our children. return (!idsToVisit.isEmpty()); }
@Override public VisitResult visit(VisitContext context, UIComponent target) { DataTable dt = (DataTable) target; FacesContext facesContext = context.getFacesContext(); String sheetName = exporter.getSheetName(facesContext, dt); if (sheetName == null) { sheetName = dt.getClientId().replaceAll(":", "_"); } Sheet sheet = workbook.createSheet(sheetName); exporter.exportTable(facesContext, dt, sheet, pageOnly, selectionOnly); return VisitResult.ACCEPT; }
public static boolean isSkipIteration(VisitContext visitContext, FacesContext context) { if (PrimeApplicationContext.getCurrentInstance(context).getEnvironment().isAtLeastJsf21()) { return visitContext.getHints().contains(VisitHint.SKIP_ITERATION); } else { Boolean skipIterationHint = (Boolean) visitContext.getFacesContext().getAttributes().get(SKIP_ITERATION_HINT); return skipIterationHint != null && skipIterationHint.booleanValue() == true; } }
protected boolean requiresIteration(FacesContext context, VisitContext visitContext) { try { //JSF 2.1 VisitHint skipHint = VisitHint.valueOf("SKIP_ITERATION"); return !visitContext.getHints().contains(skipHint); } catch (IllegalArgumentException e) { //JSF 2.0 Object skipHint = context.getAttributes().get("javax.faces.visit.SKIP_ITERATION"); return !Boolean.TRUE.equals(skipHint); } }
VisitResult result = context.invokeVisitCallback(child, callback); // visit the column directly if (result == VisitResult.COMPLETE) { return true;
FacesContext facesContext = context.getFacesContext(); boolean visitRows = shouldVisitRows(facesContext, context); VisitResult result = context.invokeVisitCallback(this, callback);
@Override public VisitResult visit(VisitContext context, UIComponent target) { if (target instanceof EditableValueHolder) { EditableValueHolder input = (EditableValueHolder) target; input.resetValue(); if (clearModel) { ValueExpression ve = target.getValueExpression("value"); if (ve != null) { ve.setValue(context.getFacesContext().getELContext(), null); } } } return VisitResult.ACCEPT; } }
/** * Finds the proper {@link AjaxExceptionHandler} for the given {@link Throwable}. * * @param context The {@link FacesContext}. * @param rootCause The occurred {@link Throwable}. * @return The {@link AjaxExceptionHandler} or <code>null</code>. */ protected AjaxExceptionHandler findHandlerComponent(FacesContext context, Throwable rootCause) { AjaxExceptionHandlerVisitCallback visitCallback = new AjaxExceptionHandlerVisitCallback(rootCause); context.getViewRoot().visitTree(VisitContext.createVisitContext(context), visitCallback); Map<String, AjaxExceptionHandler> handlers = visitCallback.getHandlers(); // get handler by exception type AjaxExceptionHandler handler = handlers.get(rootCause.getClass().getName()); // lookup by inheritance hierarchy if (handler == null) { Class throwableClass = rootCause.getClass(); while (handler == null && throwableClass.getSuperclass() != Object.class) { throwableClass = throwableClass.getSuperclass(); handler = handlers.get(throwableClass.getName()); } } // get default handler if (handler == null) { handler = handlers.get(null); } return handler; }
protected boolean shouldVisitChildren(VisitContext context, boolean visitRows) { if (visitRows) { setRowIndex(-1); } Collection<String> idsToVisit = context.getSubtreeIdsToVisit(this); return (!idsToVisit.isEmpty()); }
protected boolean shouldVisitRows(FacesContext context, VisitContext visitContext) { try { //JSF 2.1 VisitHint skipHint = VisitHint.valueOf("SKIP_ITERATION"); return !visitContext.getHints().contains(skipHint); } catch (IllegalArgumentException e) { //JSF 2.0 Object skipHint = context.getAttributes().get("javax.faces.visit.SKIP_ITERATION"); return !Boolean.TRUE.equals(skipHint); } }
FacesContext facesContext = context.getFacesContext(); boolean visitRows = requiresRowIteration(context); VisitResult result = context.invokeVisitCallback(this, callback);
@Override public VisitResult visit(VisitContext context, UIComponent target) { DataTable dt = (DataTable) target; try { document.add(exporter.exportPDFTable(context.getFacesContext(), dt, pageOnly, selectionOnly, encoding)); Paragraph preface = new Paragraph(); exporter.addEmptyLine(preface, 3); document.add(preface); } catch (DocumentException e) { throw new FaceletException(e.getMessage()); } return VisitResult.ACCEPT; }
/** * Resolves the search expressions, starting from the viewroot and resets all found {@link UIInput} components. * * @param expressions a list of search expressions. */ public void resetInputs(Collection<String> expressions) { if (expressions == null || expressions.isEmpty()) { return; } FacesContext facesContext = getFacesContext(); VisitContext visitContext = VisitContext.createVisitContext(facesContext, null, ComponentUtils.VISIT_HINTS_SKIP_UNRENDERED); UIViewRoot root = facesContext.getViewRoot(); for (String expression : expressions) { List<UIComponent> components = SearchExpressionFacade.resolveComponents(facesContext, root, expression); for (UIComponent component : components) { component.visitTree(visitContext, ResetInputVisitCallback.INSTANCE); } } }
int s = ((step != null) ? step : 1); validateIterationControlValues(rowCount, i, e); FacesContext faces = context.getFacesContext(); setIndex(faces, i); updateIterationStatus(faces,
@Override public void processAction(ActionEvent event) throws AbortProcessingException { FacesContext context = FacesContext.getCurrentInstance(); ELContext elContext = context.getELContext(); VisitContext visitContext = VisitContext.createVisitContext(context, null, ComponentUtils.VISIT_HINTS_SKIP_UNRENDERED); String expressions = (String) target.getValue(elContext); boolean resetModel = false; if (clearModel != null) { resetModel = clearModel.isLiteralText() ? Boolean.parseBoolean(clearModel.getValue(context.getELContext()).toString()) : (Boolean) clearModel.getValue(context.getELContext()); } ResetInputVisitCallback visitCallback = resetModel ? ResetInputVisitCallback.INSTANCE_CLEAR_MODEL : ResetInputVisitCallback.INSTANCE; List<UIComponent> components = SearchExpressionFacade.resolveComponents(context, event.getComponent(), expressions); for (int i = 0; i < components.size(); i++) { UIComponent component = components.get(i); component.visitTree(visitContext, visitCallback); } } }
@Override public void export(FacesContext context, List<String> clientIds, String filename, boolean pageOnly, boolean selectionOnly, String encodingType, MethodExpression preProcessor, MethodExpression postProcessor, ExporterOptions options, MethodExpression onTableRender) throws IOException { Workbook wb = createWorkBook(); if (preProcessor != null) { preProcessor.invoke(context.getELContext(), new Object[]{wb}); } VisitContext visitContext = VisitContext.createVisitContext(context, clientIds, null); VisitCallback visitCallback = new ExcelExportVisitCallback(this, wb, pageOnly, selectionOnly); context.getViewRoot().visitTree(visitContext, visitCallback); if (postProcessor != null) { postProcessor.invoke(context.getELContext(), new Object[]{wb}); } writeExcelToResponse(context.getExternalContext(), wb, filename); }