@Nonnull private Optional<FlatViewGenerator> getChildFlatViewGen(SInstance child) { return child.getAspect(ASPECT_FLAT_VIEW_GENERATOR); } }
@Nonnull private static IWicketComponentMapper resolveMapper(@Nonnull SInstance instance) { return instance.getAspect(IWicketComponentMapper.ASPECT_WICKET_MAPPER).orElseThrow( () -> new SingularFormException("Não há mappeamento de componente Wicket para o tipo", instance)); } }
private void callListItemDoWrite(TableRowDocumentCanvasAdapter row, SInstance field) { field.getAspect(FlatViewGenerator.ASPECT_FLAT_VIEW_GENERATOR) .ifPresent(viewGenerator -> viewGenerator .writeOnCanvas(row, new FlatViewContext(field, true, true))); }
/** * This is a method default that used BootstrapHtmlCanvas to generate the html of the requirement. * * @param root doc in the super class. * @return doc in the super class. */ @Override public String generate(SInstance root) { HtmlCanvas htmlCanvas = new BootstrapHtmlCanvas(true); root.getAspect(ASPECT_FLAT_VIEW_GENERATOR).ifPresent(i -> i.writeOnCanvas(htmlCanvas, new FlatViewContext(root))); return htmlCanvas.build(); } }
@Override protected void doWriteOnCanvas(DocumentCanvas canvas, FlatViewContext context) { SIComposite instance = context.getInstanceAs(SIComposite.class); DocumentCanvas subcanvas; if (isFlatView(context, instance)) { subcanvas = canvas; } else { canvas.addSubtitle(context.getLabel()); if (instance.getParent() == null) { subcanvas = canvas; } else { subcanvas = canvas.addChild(); } } List<SInstance> fields = instance.getAllFields() .stream() .sorted(Comparator.comparing(this::isChildWithSessionBreaker)).collect(Collectors.toList()); int rowCount = 0; for (SInstance child : fields) { rowCount += child.asAtrBootstrap().getColPreference(); if (rowCount > 12 || isChildWithSessionBreaker(child)) { rowCount = 0; subcanvas.addLineBreak(); } Optional<FlatViewGenerator> aspect = child.getAspect(ASPECT_FLAT_VIEW_GENERATOR); aspect.ifPresent(flatViewGenerator -> flatViewGenerator.writeOnCanvas(subcanvas, new FlatViewContext(child))); } }
@Override protected void doWriteOnCanvas(DocumentCanvas canvas, FlatViewContext context) { canvas.addSubtitle(context.getLabel()); SIComposite instance = (SIComposite) context.getInstance(); SViewTab viewTab = (SViewTab) ViewResolver.resolveView(instance.getType()); for (SViewTab.STab tab : viewTab.getTabs()) { canvas.addSubtitle(tab.getTitle()); for (String path : tab.getTypesNames()) { SInstance child = instance.getField(path); child.getAspect(FlatViewGenerator.ASPECT_FLAT_VIEW_GENERATOR) .ifPresent(viewGenerator -> callChildWrite(canvas.addChild(), child, viewGenerator)); } } }
FlatViewGenerator flatViewGenerator = f.getAspect(FlatViewGenerator.ASPECT_FLAT_VIEW_GENERATOR).orElse(null);