entorno.emulador
Class ClaseVentanaLog.Bufferes

java.lang.Object
  extended by entorno.emulador.ClaseVentanaLog.Bufferes
Enclosing class:
ClaseVentanaLog

private class ClaseVentanaLog.Bufferes
extends java.lang.Object

Clase Bufferes Funcion: controla los 3 bufferes E/S/Error


Field Summary
private  java.io.BufferedWriter entradaMaudeBuff
          lo q mandaremos a Maude
private  java.io.BufferedReader errorMaudeBuff
          posibles errores
private  int linea
          La linea y la linea anterior del proceso maude
private  int lineaAntes
          La linea y la linea anterior del proceso maude
private  java.io.BufferedWriter msjesControl
          canal de sockets donde se mandan msjes de control para hacer ctrlc y hacer un load fm.maude
private  int pid
          pid
private  java.io.BufferedReader salidaMaudeBuff
          las salidas de Maude
private  java.net.Socket socket
          los sockets si estamos en red
private  java.net.Socket socketControl
          los sockets si estamos en red
 
Constructor Summary
ClaseVentanaLog.Bufferes(java.lang.Process p)
          Constructor
ClaseVentanaLog.Bufferes(java.net.Socket soc1, java.net.Socket socControl)
          Constructor
 
Method Summary
 boolean actualizarLaBaseDeDatos(boolean hayPromp)
          metodo que se encarga de actualizar la base de datos con los módulos insertados
 void cerrarBufferes()
          Cierra los bufferes
 void despertarTodo()
          Despierta las posibles esperas para comprobar las condiciones de control
private  void esperaEscrituraMsje(boolean escribirPrompt)
          realiza una espera hasta que maude envie la respuesta mostrando la respuesta enviada en gris oscuro
 void esperarRespuesta()
          Provoca una espera hasta que se haya una respuesta en el buffer Respuesta
 void esperarRespuestaInterna()
          Provoca una espera hasta que se haya una respuesta ya sea en el buffer de error o en el de salida.
 void gestionarLinea(java.lang.String lin, int numLinRestar, boolean emu, boolean err)
          Metodo que se encarga de gestionar las lineas de error para insertarle el numero de linea real
private  java.io.BufferedWriter getBuffControl()
           
 java.lang.String getBufferError()
          Consume el buffer de error y lo devuelve
 java.lang.String getBufferSalida()
          Consume el buffer de salida y lo devuelve
private  java.io.BufferedWriter getEntradaMaudeBuff()
           
private  java.io.BufferedReader getErrorMaudeBuff()
           
private  int getLinea()
           
private  int getLineaAntes()
           
 int getPID()
          Obtiene el pid del proceso maude.linux
private  java.io.BufferedReader getSalidaMaudeBuff()
           
 java.net.Socket getSocket()
          Obtiene el socket remoto de entrada / salida
 java.net.Socket getSocketControl()
          Obtiene el socket remoto de entrada de control / salida de errores
 boolean isReadyErrorBuff()
          Devuelve true si hay algo en en buffer de error
 boolean isReadySalidaBuff()
          Devuelve true si hay algo en en buffer de salida
 void mostrarBufferError(boolean emu, boolean err)
          Muestra el buffer de error en el emulador o en la ventana Error según los argumentos
 void mostrarBufferSalida(boolean emu, boolean resul)
          Muestra el buffer de salida en el emulador o en la ventana Resultado según los argumentos
 void mostrarPresentacion()
          Muestra la presentación de inicio de Maude
 java.lang.String obtenerRespuestaInternaShow()
          hace una espera de la respuesta interna y obtiene la salida de maude hasta que se muestra el prompt
private  void resetLinea()
           
private  void setBuffControl(java.io.BufferedWriter r)
           
private  void setEntradaMaudeBuff(java.io.BufferedWriter e)
           
private  void setErrorMaudeBuff(java.io.BufferedReader r)
           
private  void setSalidaMaudeBuff(java.io.BufferedReader s)
           
 void writeControlMaudeBuff(java.lang.String entrada)
          Escribe en el buffer de control
 void writeEntradaMaudeBuff(java.lang.String entrada)
          Escribe en el buffer de Entrada
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

entradaMaudeBuff

private java.io.BufferedWriter entradaMaudeBuff
lo q mandaremos a Maude


salidaMaudeBuff

private java.io.BufferedReader salidaMaudeBuff
las salidas de Maude


errorMaudeBuff

private java.io.BufferedReader errorMaudeBuff
posibles errores


msjesControl

private java.io.BufferedWriter msjesControl
canal de sockets donde se mandan msjes de control para hacer ctrlc y hacer un load fm.maude


pid

private int pid
pid


linea

private int linea
La linea y la linea anterior del proceso maude


lineaAntes

private int lineaAntes
La linea y la linea anterior del proceso maude


socket

private java.net.Socket socket
los sockets si estamos en red


socketControl

private java.net.Socket socketControl
los sockets si estamos en red

Constructor Detail

ClaseVentanaLog.Bufferes

public ClaseVentanaLog.Bufferes(java.lang.Process p)
Constructor

Parameters:
p - el proceso del que se crearan los buferes

ClaseVentanaLog.Bufferes

public ClaseVentanaLog.Bufferes(java.net.Socket soc1,
                                java.net.Socket socControl)
                         throws java.io.IOException
Constructor

Parameters:
soc1 - El socket de Entrada / Salida
socControl - EL socket de Entrada de Errores / Salida de Control
Throws:
java.io.IOException
Method Detail

getLinea

private int getLinea()

getLineaAntes

private int getLineaAntes()

resetLinea

private void resetLinea()

getPID

public int getPID()
Obtiene el pid del proceso maude.linux


getSocket

public java.net.Socket getSocket()
Obtiene el socket remoto de entrada / salida


getSocketControl

public java.net.Socket getSocketControl()
Obtiene el socket remoto de entrada de control / salida de errores


getEntradaMaudeBuff

private java.io.BufferedWriter getEntradaMaudeBuff()

getSalidaMaudeBuff

private java.io.BufferedReader getSalidaMaudeBuff()

getErrorMaudeBuff

private java.io.BufferedReader getErrorMaudeBuff()

getBuffControl

private java.io.BufferedWriter getBuffControl()

setEntradaMaudeBuff

private void setEntradaMaudeBuff(java.io.BufferedWriter e)

setSalidaMaudeBuff

private void setSalidaMaudeBuff(java.io.BufferedReader s)

setErrorMaudeBuff

private void setErrorMaudeBuff(java.io.BufferedReader r)

setBuffControl

private void setBuffControl(java.io.BufferedWriter r)

isReadySalidaBuff

public boolean isReadySalidaBuff()
Devuelve true si hay algo en en buffer de salida


isReadyErrorBuff

public boolean isReadyErrorBuff()
Devuelve true si hay algo en en buffer de error


writeControlMaudeBuff

public void writeControlMaudeBuff(java.lang.String entrada)
Escribe en el buffer de control


writeEntradaMaudeBuff

public void writeEntradaMaudeBuff(java.lang.String entrada)
Escribe en el buffer de Entrada


esperarRespuesta

public void esperarRespuesta()
Provoca una espera hasta que se haya una respuesta en el buffer Respuesta


esperarRespuestaInterna

public void esperarRespuestaInterna()
Provoca una espera hasta que se haya una respuesta ya sea en el buffer de error o en el de salida.


obtenerRespuestaInternaShow

public java.lang.String obtenerRespuestaInternaShow()
hace una espera de la respuesta interna y obtiene la salida de maude hasta que se muestra el prompt


esperaEscrituraMsje

private void esperaEscrituraMsje(boolean escribirPrompt)
realiza una espera hasta que maude envie la respuesta mostrando la respuesta enviada en gris oscuro


mostrarPresentacion

public void mostrarPresentacion()
Muestra la presentación de inicio de Maude


getBufferSalida

public java.lang.String getBufferSalida()
Consume el buffer de salida y lo devuelve


getBufferError

public java.lang.String getBufferError()
Consume el buffer de error y lo devuelve


mostrarBufferSalida

public void mostrarBufferSalida(boolean emu,
                                boolean resul)
Muestra el buffer de salida en el emulador o en la ventana Resultado según los argumentos


actualizarLaBaseDeDatos

public boolean actualizarLaBaseDeDatos(boolean hayPromp)
metodo que se encarga de actualizar la base de datos con los módulos insertados


gestionarLinea

public void gestionarLinea(java.lang.String lin,
                           int numLinRestar,
                           boolean emu,
                           boolean err)
Metodo que se encarga de gestionar las lineas de error para insertarle el numero de linea real


mostrarBufferError

public void mostrarBufferError(boolean emu,
                               boolean err)
Muestra el buffer de error en el emulador o en la ventana Error según los argumentos


despertarTodo

public void despertarTodo()
Despierta las posibles esperas para comprobar las condiciones de control


cerrarBufferes

public void cerrarBufferes()
Cierra los bufferes