/*******************************************************************************
* 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.ext.java.client.projecttree.nodes;
import org.eclipse.che.ide.api.project.tree.AbstractTreeNode;
import org.eclipse.che.ide.api.project.tree.TreeNode;
import org.eclipse.che.ide.ext.java.client.navigation.JavaNavigationService;
import org.eclipse.che.ide.ext.java.client.projecttree.JavaTreeStructure;
import org.eclipse.che.ide.ext.java.shared.JarEntry;
import org.eclipse.che.ide.rest.DtoUnmarshallerFactory;
import com.google.web.bindery.event.shared.EventBus;
import javax.annotation.Nonnull;
/**
* @author Evgen Vidolob
*/
public abstract class JarEntryNode extends AbstractTreeNode<JarEntry> {
protected final JavaNavigationService service;
protected final DtoUnmarshallerFactory dtoUnmarshallerFactory;
private final String displayName;
protected int libId;
/**
* Creates new node with the specified parent, associated data and display name.
*
* @param parent
* parent node
* @param data
* an object this node encapsulates
* @param javaTreeStructure
* {@link org.eclipse.che.ide.ext.java.client.projecttree.JavaTreeStructure} which this node belongs
* @param eventBus
*/
public JarEntryNode(TreeNode<?> parent, JarEntry data, JavaTreeStructure javaTreeStructure,
EventBus eventBus, int libId, JavaNavigationService service,
DtoUnmarshallerFactory dtoUnmarshallerFactory) {
super(parent, data, javaTreeStructure, eventBus);
this.libId = libId;
this.service = service;
this.dtoUnmarshallerFactory = dtoUnmarshallerFactory;
if (data.getName().endsWith(".class")) {
displayName = data.getName().substring(0, data.getName().lastIndexOf(".class"));
} else {
displayName = data.getName();
}
}
@Nonnull
@Override
public String getId() {
return getData().getName();
}
@Nonnull
@Override
public String getDisplayName() {
return displayName;
}
}