/******************************************************************************* * Copyright (c) 2012-2015 Codenvy, S.A. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ package org.eclipse.che.ide.outline; import org.eclipse.che.ide.api.texteditor.outline.CodeBlock; import org.eclipse.che.ide.collections.Array; import org.eclipse.che.ide.ui.tree.NodeDataAdapter; import org.eclipse.che.ide.ui.tree.TreeNodeElement; import java.util.HashMap; /** * Default implementation of {@link NodeDataAdapter} for {@link CodeBlock} * * @author <a href="mailto:evidolob@exoplatform.com">Evgen Vidolob</a> * @version $Id: */ public class CodeBlockDataAdapter implements NodeDataAdapter<CodeBlock> { private HashMap<CodeBlock, TreeNodeElement<CodeBlock>> renderNodes = new HashMap<CodeBlock, TreeNodeElement<CodeBlock>>(); /** {@inheritDoc} */ @Override public int compare(CodeBlock a, CodeBlock b) { // TODO Auto-generated method stub return 0; } /** {@inheritDoc} */ @Override public boolean hasChildren(CodeBlock data) { Array<CodeBlock> array = data.getChildren(); return array != null && !array.isEmpty(); } /** {@inheritDoc} */ @Override public Array<CodeBlock> getChildren(CodeBlock data) { return data.getChildren(); } /** {@inheritDoc} */ @Override public String getNodeId(CodeBlock data) { return data.getId(); } /** {@inheritDoc} */ @Override public String getNodeName(CodeBlock data) { return data.getType(); } /** {@inheritDoc} */ @Override public CodeBlock getParent(CodeBlock data) { return data.getParent(); } /** {@inheritDoc} */ @Override public TreeNodeElement<CodeBlock> getRenderedTreeNode(CodeBlock data) { return renderNodes.get(data); } /** {@inheritDoc} */ @Override public void setNodeName(CodeBlock data, String name) { } /** {@inheritDoc} */ @Override public void setRenderedTreeNode(CodeBlock data, TreeNodeElement<CodeBlock> renderedNode) { renderNodes.put(data, renderedNode); } /** {@inheritDoc} */ @Override public CodeBlock getDragDropTarget(CodeBlock data) { return null; } /** {@inheritDoc} */ @Override public Array<String> getNodePath(CodeBlock data) { return PathUtils.getNodePath(this, data); } /** {@inheritDoc} */ @Override public CodeBlock getNodeByPath(CodeBlock root, Array<String> relativeNodePath) { // TODO Auto-generated method stub return null; } }