package com.sap.furcas.ide.editor.imp.services; import org.eclipse.imp.services.base.TreeModelBuilderBase; import com.sap.furcas.metamodel.FURCAS.textblocks.TextBlock; /** * A model builder for the IMP outline view. It works together with the * {@link FurcasLabelProvider}. * * This class is generic and does not need a language specific implementation. * * @author Stephan Erb * */ public class FurcasTreeModelBuilder extends TreeModelBuilderBase { @Override public void visitTree(Object astNode) { if (astNode == null) { return; } TextBlock node = (TextBlock) astNode; for (TextBlock childNode : node.getSubBlocks()) { if (!childNode.getCorrespondingModelElements().isEmpty()) { pushSubItem(childNode); } visitTree(childNode); if (!childNode.getCorrespondingModelElements().isEmpty()) { popSubItem(); } } } }