//**************************************************************** // TRABAJO ISBC : INTEGRACION JAVA-JESS. CASO DEL ELEVADOR //**************************************************************** // // Fichero: Puertas.java // Autor: // Modificado por: Daniel Urieta Lopez // Proposito: Contiene la clase Puertas que es un thread que // simula el funcionamiento de las puertas del ascensor. // //**************************************************************** public class Puertas implements Runnable { private boolean puertas_abiertas=false; private boolean fin_tiempo_puertas_abiertas=false; private int tiempo_abrir_cerrar=200; private int tiempo_puertas_abiertas=1000; private int tiempo_interrupcion; private Thread puertas_thread; public Puertas() { puertas_thread=new Thread(this); puertas_thread.start(); puertas_thread.suspend(); } public void AbrirPuertas() { tiempo_interrupcion=tiempo_abrir_cerrar; puertas_thread.resume(); } public void CerrarPuertas() { tiempo_interrupcion=tiempo_abrir_cerrar; puertas_thread.resume(); } public void MantenerPuertasAbiertas() { tiempo_interrupcion=tiempo_puertas_abiertas; fin_tiempo_puertas_abiertas=false; puertas_thread.resume(); } public boolean PuertasAbiertas() { return(puertas_abiertas); } public boolean FinTiempoPuertasAbiertas() { return(fin_tiempo_puertas_abiertas); } public void run() { while (true) { try { puertas_thread.sleep(tiempo_interrupcion); } catch (InterruptedException e){} if (tiempo_interrupcion==tiempo_abrir_cerrar) puertas_abiertas=!puertas_abiertas; else fin_tiempo_puertas_abiertas=true; puertas_thread.suspend(); } } }