@Override public List<SInstance> getAllChildren() { return getAllFields(); }
@Override public List<SInstance> getAllChildren() { return getAllFields(); }
private void writeChild(boolean renderCompositeFieldsAsColumns, TableBodyCanvas tableBody, SInstance child) { TableRowDocumentCanvasAdapter row = new TableRowDocumentCanvasAdapter(tableBody.addRow()); if (renderCompositeFieldsAsColumns) { for (SInstance compositeField : ((SIComposite) child).getAllFields()) { callListItemDoWrite(row, compositeField); } } else { callListItemDoWrite(row, child); } }
@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))); } }