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