package se.cambio.cds.gdl.editor.controller.interfaces;
import se.cambio.cds.gdl.model.ResourceDescription;
import se.cambio.cds.gdl.model.Term;
import se.cambio.openehr.util.exceptions.InternalErrorException;
import javax.swing.*;
import java.io.InputStream;
import java.util.Collection;
import java.util.Map;
public interface EditorController<E> {
public void init();
public E getEntity();
public void setEntity(E entity);
public String getTitle();
public JPanel getEditorPanel();
public void runIfOKToExit(Runnable runnable);
public String createNextLocalCode();
public Map<String, Term> getCurrentTermsMap();
public void changeLanguage(String language);
public Collection<String> getUsedCodes();
public ResourceDescription getResourceDescription();
public Term getConceptTerm();
public String getCurrentLanguageCode();
public Collection<String> getSupportedLanguageCodes();
public String getEntityId();
public String getEntityName();
public Collection<String> getSupportedEntityExtensions();
public void setEntityId(String entityId);
public void save();
public void saveAs();
public void entitySaved();
public String getSerializedEntity() throws InternalErrorException;
public E parseEntity(InputStream is) throws InternalErrorException;
}