import java.util.Hashtable;
public abstract class  EditorTexto implements EditorTextoIF{
 private FunctorEditorTextoIF functor;
 private Hashtable diccionario;
 public EditorTexto() {
    functor = null;
    diccionario = new Hashtable();
 }
 public FunctorEditorTextoIF getFunctorEditorTexto(String nombre){
   return (FunctorEditorTextoIF)diccionario.get(nombre);
 }
 public void setFunctorEditorTexto( String nombre,FunctorEditorTextoIF fn){
     diccionario.put(nombre,fn);
 }
 private void operar() {
   if ( functor != null ) {
     functor.operar();
   }
   functor = null;
 }
 public void loadFile() {
    functor = getFunctorEditorTexto(EditorTextoIF.LOAD);
    operar();
 }
 public void saveFile() {
    functor = getFunctorEditorTexto(EditorTextoIF.SAVE);
    operar();
 }
 public void copy() {
    functor = getFunctorEditorTexto(EditorTextoIF.COPY);
    operar();
 }
 public void cut() {
    functor = getFunctorEditorTexto(EditorTextoIF.CUT);
    operar();
 }
 public void paste() {
    functor = getFunctorEditorTexto(EditorTextoIF.PASTE);
    operar();
 }
}
