@Nonnull public static <T, R> R accept (final @Nonnull T object, final @Nonnull Visitor<T, R> visitor) throws NotFoundException { visitor.visit(object); for (final Object child : lookup(object, Composite).findChildren().results()) { accept((T)child, visitor); } return visitor.getValue(); } }
@Override @Nonnull // TODO: refactor with Composite public <Type> Type accept (final @Nonnull Visitor<Layout, Type> visitor) throws NotFoundException { visitor.preVisit(this); visitor.visit(this); for (final DefaultLayout child : children) { child.accept(visitor); } visitor.postVisit(this); return visitor.getValue(); }
/******************************************************************************************************************* * * {@inheritDoc} * ******************************************************************************************************************/ @Override @Nonnull // TODO: push up to CompositeSupport public <Type> Type accept (final @Nonnull Visitor<Layout, Type> visitor) throws NotFoundException { visitor.preVisit(this); visitor.visit(this); for (final Layout child : children) { child.accept(visitor); } visitor.postVisit(this); return visitor.getValue(); }