package org.vaadin.mideaas.model; import java.io.File; import java.io.IOException; import org.vaadin.mideaas.editor.MultiUserDoc.DifferingChangedListener; import org.vaadin.mideaas.frontend.Icons; import org.vaadin.mideaas.java.util.CompilingService; import com.vaadin.server.Resource; abstract public class ProjectItem { private final String name; public ProjectItem(String name) { this.name = name; } public String getName() { return name; } /** * * @return [classname, classcontent], or null */ public String[] getJavaClass() { return null; } abstract public void writeBaseToDisk(File src) throws IOException; abstract public void removeFromDir(File sourceDir); abstract public void removeFromClasspathOf(CompilingService compiler, String packageName); abstract public void removeUser(User user); abstract public Resource getIcon(); abstract public void addDifferingChangedListener(DifferingChangedListener li); abstract public void removeDifferingChangedListener(DifferingChangedListener li); }