package jetbrains.mps.build.mps.pluginSolution.plugin;
/*Generated by MPS */
import org.jetbrains.mps.openapi.module.SModule;
import java.util.List;
import jetbrains.mps.internal.collections.runtime.ListSequence;
import java.util.ArrayList;
import javax.swing.Icon;
import jetbrains.mps.project.AbstractModule;
import jetbrains.mps.vfs.IFile;
import com.intellij.openapi.vfs.VirtualFile;
import jetbrains.mps.ide.vfs.VirtualFileUtils;
import jetbrains.mps.ide.icons.IdeIcons;
public class ModuleData implements NodeData {
private final SModule myModule;
private NodeData myParent;
public ModuleData(SModule module) {
this.myModule = module;
}
@Override
public String getText() {
return this.myModule.getModuleName();
}
@Override
public List<NodeData> getChildren() {
return ListSequence.fromList(new ArrayList<NodeData>());
}
@Override
public Icon getIcon(boolean expanded) {
if (this.myModule instanceof AbstractModule) {
IFile file = ((AbstractModule) this.myModule).getDescriptorFile();
if (file != null) {
VirtualFile virtualFile = VirtualFileUtils.getProjectVirtualFile(file);
if (virtualFile != null) {
return virtualFile.getFileType().getIcon();
}
}
}
return IdeIcons.LANGUAGE_ICON;
}
public SModule getModule() {
return this.myModule;
}
@Override
public boolean canHaveChildren() {
return false;
}
@Override
public void addChildren(NodeData nodeData) {
}
@Override
public NodeData getParent() {
return this.myParent;
}
@Override
public void setParent(NodeData parent) {
this.myParent = parent;
}
}