package org.xmind.ui.internal.outline.resource; import java.util.List; import org.xmind.core.ISheet; import org.xmind.core.ITopic; import org.xmind.ui.mindmap.IWorkbookRef; public abstract class AbstractIndexResource implements IOutlineResource { protected void collectResourceForWorkbook(IWorkbookRef workbookRef) { if (workbookRef == null) return; List<ISheet> sheets = workbookRef.getWorkbook().getSheets(); for (ISheet sheet : sheets) { collectResourceForSheet(sheet); } } protected void collectResourceForSheet(ISheet sheet) { ITopic rootTopic = sheet.getRootTopic(); collectResourceForTopic(rootTopic); collectResourceForParentTopic(rootTopic); } protected void collectResourceForParentTopic(ITopic parentTopic) { for (ITopic child : parentTopic.getAllChildren()) { collectResourceForTopic(child); collectResourceForParentTopic(child); } } protected abstract void collectResourceForTopic(ITopic topic); }