/******************************************************************************
* Copyright (C) 2013 Fabio Zadrozny
*
* 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:
* Fabio Zadrozny <fabiofz@gmail.com> - initial API and implementation
******************************************************************************/
package org.python.pydev.shared_core.editor;
import java.util.Map;
import org.eclipse.jface.text.IDocument;
import org.python.pydev.shared_core.model.IModelListener;
import org.python.pydev.shared_core.parsing.IParserObserver;
public interface IBaseEditor extends IParserObserver {
IDocument getDocument();
/**
* @return the editor input
*/
/*IEditorInput*/Object getEditorInput();
/**
* This map may be used by clients to store info regarding this editor.
*
* Clients should be careful so that this key is unique and does not conflict with other
* plugins.
*
* This is not enforced.
*
* The suggestion is that the cache key is always preceded by the class name that will use it.
*/
Map<String, Object> getCache();
/**
* @return whether this edit and the one passed as a parameter have the same input.
*/
boolean hasSameInput(IBaseEditor edit);
void addModelListener(IModelListener modelListener);
void removeModelListener(IModelListener modelListener);
}