Packagelopsae.lif.ejecucion.libretos
Classpublic class Libreto
ImplementsCondenado

Ejecuta Actos de forma sincronizada en una línea de tiempo. La estructura de Libreto y Acto representan un mecanismo de ejecución para eventos sincronizados en una línea de tiempo, siendo el Libreto el que ejecuta un conjunto de Actos.

La instancia efectúa el guardado y ejecución de Actos que deben de ocurrir en un orden y tiempos específicos. Se almacena cada Acto junto con su tiempo de ejecución, dando la capacidad de asignar cualquier cantidad de Actos en cualquier momento específico. El avance del tiempo para la instancia es manejado la función actuar, con cada llamada el tiempo de la instancia aumentará una unidad. Existe la capacidad de detener o reanudar la reproducción de la instancia en cualquier momento. Si la reproducción es detenida, el tiempo de la instancia no avanzará inclusive si se efectúan llamadas a la función actuar.

El registro de Actos se hace de forma secuencial, es decir, una vez registrado un acto no es posible registrar otro Acto que se ejecute previo al anterior. Junto con el registro de cada Acto se registra también el tiempo de espera, que es la cantidad de unidades de tiempo después de las cuales dicho Acto se ejecutará desde el inicio de la ejecución de la instancia.

El tiempo de espera es un valor interno que indica en que momento se ejecutarán nuevos actos registrados. Este valor inicia en cero y solo puede ser incrementado, limitando igualmente que los actos solo puedan ser registrados hacia adelante en la línea de tiempo. El tiempo de espera también indica el valor máximo al que el tiempo puede avanzar en la instancia. Una vez que el tiempo actual ha alcanzado el valor actual de espera, el avance de tiempo de la instancia se detendrá hasta que se incremente el valor de espera.



Public Methods
 MethodDefined by
  
Construye una instancia que no contiene Actos, con su tiempo actual en cero, y en estado de reproducción.
Libreto
  
actuar():void
Avanza el tiempo actual de la instancia una unidad, y ejecuta todos los actos correspondientes a dicho tiempo.
Libreto
  
borrar():void
Libera toda referencia interna que contenga la instancia.
Libreto
  
detener():void
Detiene la reproducción de la instancia.
Libreto
  
ejecutar():void
Esta función solamente llama a la función actuar():void.
Libreto
  
liberar():void
Retira a la instancia de cualquier Verdugo en el que se encuentre contenido.
Libreto
  
registrarActo(acto:Acto):Boolean
Registra un Acto para ejecutarse en el tiempo de espera actual.
Libreto
  
registrarActoYEspera(acto:Acto, espera:int):Boolean
Registra un Acto a ejecutarse en el tiempo de espera actual, y seguido registra la espera dada.
Libreto
  
registrarEspera(espera:int):Boolean
Incrementa la espera actual para el registro de Actos.
Libreto
  
registrarEsperaYActo(espera:int, acto:Acto):Boolean
Registra una espera y después un Acto a ejecutarse en el tiempo de la espera actual.
Libreto
  
registrarYRepetirActo(acto:Acto, espera:int, veces:int):Boolean
Registra un Acto varias veces, dejando entre cada registro una espera especificada.
Libreto
  
reproducir():void
Reanuda la reproducción de la instancia.
Libreto
  
sentenciar(elemento:ElementoPublico):void
Función para asignar el ElementoPublico que representa la ejecución de la instancia.
Libreto
  
verReproduccion():Boolean
Regresa true si la instancia se encuentra en estado de reproducción, false de lo contrario.
Libreto
Constructor detail
Libreto()constructor
public function Libreto()

Construye una instancia que no contiene Actos, con su tiempo actual en cero, y en estado de reproducción.

Method detail
actuar()method
public function actuar():void

Avanza el tiempo actual de la instancia una unidad, y ejecuta todos los actos correspondientes a dicho tiempo.

Si la instancia se encuentra en estado de reproducción se ejecutan los Actos registrados al tiempo actual y a finalizar se incrementa en uno el tiempo de la instancia. Si la instancia no se encuentra en estado de reproducción no se ejecuta acción alguna.

El tiempo hasta el la instancia puede avanzar está determinado por el tiempo de espera. Si la instancia avanza hasta que el tiempo actual sea igual al tiempo de espera el incremento de tiempo no se efectuará hasta que la espera vuelva a ser mayor.

borrar()method 
public function borrar():void

Libera toda referencia interna que contenga la instancia.

Después de llamar esta función la instancia quedará inusable y cualquier uso de esta podría provocar errores o comportamiento impredecible.

detener()method 
public function detener():void

Detiene la reproducción de la instancia. Después de llamar esta función la función actuar no efectuará acción alguna y el tiempo de la instancia no avanzará.

ejecutar()method 
public function ejecutar():void

Esta función solamente llama a la función actuar():void.

liberar()method 
public function liberar():void

Retira a la instancia de cualquier Verdugo en el que se encuentre contenido.

registrarActo()method 
public function registrarActo(acto:Acto):Boolean

Registra un Acto para ejecutarse en el tiempo de espera actual.

Parameters
acto:Acto — el Acto a registrar.

Returns
Booleantrue si el Acto fue registrado, false de lo contrario.
registrarActoYEspera()method 
public function registrarActoYEspera(acto:Acto, espera:int):Boolean

Registra un Acto a ejecutarse en el tiempo de espera actual, y seguido registra la espera dada. Si espera es un entero negativo solo se registrará el Acto y false será regresado. Si acto es null no se registrara el Acto ni la espera, y false será regresado.

Parameters
acto:Acto — el Acto a registrar.
 
espera:int — la espera a registrar después de registrar acto.

Returns
Booleantrue si acto y la espera fueron registrados, false de lo contrario.
registrarEspera()method 
public function registrarEspera(espera:int):Boolean

Incrementa la espera actual para el registro de Actos.

Parameters
espera:int — el valor a incrementar a la espera actual.

Returns
Booleantrue si la espera fue registrada, false de lo contrario.
registrarEsperaYActo()method 
public function registrarEsperaYActo(espera:int, acto:Acto):Boolean

Registra una espera y después un Acto a ejecutarse en el tiempo de la espera actual. El valor de la espera actual es el valor de la espera después de incrementarle la espera dada, debido a que el registro de la espera se efectúa antes que el registro del Acto. Si espera es un entero negativo solo se registrará el Acto y false será regresado. Si acto es null no se registrara el Acto ni la espera, y false será regresado.

Parameters
espera:int — el Acto a registrar.
 
acto:Acto — la espera a registrar después de registrar acto.

Returns
Booleantrue si acto y la espera fueron registrados, false de lo contrario.
registrarYRepetirActo()method 
public function registrarYRepetirActo(acto:Acto, espera:int, veces:int):Boolean

Registra un Acto varias veces, dejando entre cada registro una espera especificada. Esta función registrará acto un número de veces definido por el parámetro veces. Después del registro de cada Acto se registrará una espera definida por el parámetro espera, incluyendo el último Acto registrado.

Si acto es null o veces es menor a cero, la función no efectuará acción alguna y regresará false. Si espera es un entero negativo, se registrarán los Actos de forma normal con una espera de cero entre cada Acto, y se regresará false.

Parameters
acto:Acto — el Acto a registrar.
 
espera:int — la espera a registrar entre cada Acto.
 
veces:int — el número de veces que el registro de Acto y espera se repetirá.

Returns
Booleantrue si acto y la espera fueron registrados, false de lo contrario.
reproducir()method 
public function reproducir():void

Reanuda la reproducción de la instancia. Después de llamar esta función la función actuar avanzará el tiempo de la instancia y ejecutará los Actos correspondientes.

sentenciar()method 
public function sentenciar(elemento:ElementoPublico):void

Función para asignar el ElementoPublico que representa la ejecución de la instancia. La instancia de ElementoPublico dada debe de ser retirada de la colección que lo contienen al llamar cualquiera de las funciones borrar o liberar.

Debido a que la instancia sólo puede existir en un solo Verdugo en un momento determinado, si esta función es llamada más de una vez con diferentes ElementosPublicos de parámetros, las instancias anteriores de ElementosPublicos deberán de ser retiradas de sus correspondientes colecciones antes de ser substituidas.

Si null es dado como parámetro existiendo previamente una instancia de ElementoPublico contenida, la instancia de ElementoPublico contenida será retirada de su colección antes de remover la referencia. Este funcionamiento sería el mismo que la de la función liberar. Al borrar una instancia de Condenado, esta debe de removerse de aquel Verdugo en el que esté contenido.

Parameters
elemento:ElementoPublico — el ElementoPublico que representa la presencia de ejecución de la instancia.
verReproduccion()method 
public function verReproduccion():Boolean

Regresa true si la instancia se encuentra en estado de reproducción, false de lo contrario.

Returns
Booleantrue si la instancia se encuentra en estado de reproducción, false de lo contrario.