У меня есть классы дерева AbstractComponent, Leaf и Composite:
public abstract class AbstractComponent {
privavte String name;
[...]
}
public class Leaf extends AbstractComponent {
[...]
}
public Composite extends AbstractComponent {
private List<AbstractComponent> children;
public void addChild(AbstractComponent a) {
[...]
}
public List<AbstractComponent> getChildren() {
return children;
}
}
Мой вопрос: как я могу написать рекурсивный итератор на Java для модели, основанной на составном шаблоне? Я прочитал этот вопрос (Создание рекурсивного итератора). Можно принять принятый ответ на мою проблему? Я также нашел класс TreeTraverser из Guava, но он, похоже, ограничен одним классом, представляющим узел.