Better renderChildren() api.
This commit is contained in:
parent
8953c57681
commit
e4e972ea7b
@ -60,14 +60,24 @@ public abstract class AbstractWebViewComponent extends AbstractViewComponent imp
|
||||
this.children.addAll(children);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderChildren() {
|
||||
this.renderChildren(this.getContext().getRenderContext().getWriter());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderChildren(Writer to) {
|
||||
final ComponentWriter componentWriter = new DefaultComponentWriter(to);
|
||||
componentWriter.setComponentContext(this.getContext());
|
||||
componentWriter.setRenderContext(this.getContext().getRenderContext());
|
||||
this.renderChildren(componentWriter);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderChildren(ComponentWriter to) {
|
||||
for (final var child : this.getChildren()) {
|
||||
try {
|
||||
componentWriter.append(child);
|
||||
to.append(child);
|
||||
} catch (Exception e) {
|
||||
throw new ChildRenderException(e);
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
package groowt.view.web;
|
||||
|
||||
import groowt.view.component.ViewComponent;
|
||||
import groowt.view.component.runtime.ComponentWriter;
|
||||
|
||||
import java.io.Writer;
|
||||
import java.util.List;
|
||||
@ -10,6 +11,8 @@ public interface WebViewComponent extends ViewComponent {
|
||||
List<Object> getChildren();
|
||||
boolean hasChildren();
|
||||
void setChildren(List<?> children);
|
||||
void renderChildren();
|
||||
void renderChildren(Writer to);
|
||||
void renderChildren(ComponentWriter to);
|
||||
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
package groowt.view.web.compiler;
|
||||
|
||||
import groowt.view.component.context.ComponentContext;
|
||||
import groowt.view.component.runtime.ComponentWriter;
|
||||
import groowt.view.web.WebViewComponent;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
|
||||
@ -40,9 +41,19 @@ public final class AnonymousWebViewComponent implements WebViewComponent {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderChildren() {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderChildren(Writer to) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderChildren(ComponentWriter to) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user