AnP

Managers/Events

Esta librería es un recurso pseudoexterno el cual permite crear un objeto de gestión de eventos, pero a requerir de la implementación del objeto AnP original con su primer argumento, se considera que es pseudoexterno pues no pertenece propiamente al objeto AnP pero sí es implementado y fundamental en éste y pertenece, no sólo por filosofía, al propio proyecto AnP.

El sistema se basa en un Array que almacena los Callbacks ordenadamente, cuya posición es su ID. Para evitar un uso excesivo de memoria con este objeto, éste se encarga de ir cubriendo y vaciando el Array de almacenamiento en base a:

De esta forma se reutilizan los espacios y la asignación de memoria, pese a no ser la más eficiente, es la más óptima en relación recursos de proceso y memoria.

El último análisis, en el último párrafo, se da en las circunstancias en las que fue usada la librería, pero esto a futuro puede cambiar según se vaya planteando, por ejemplo, teniendo un espacio de memoria en un Array que determine la posición en base a un Array de dos claves.
Es muy importante destacar que este objeto no es un objeto normal de AnP, por lo que no tiene funciones ni gestión de inicio y fin, y es con fines de proceso síncrono. Para asincronizarlo tendríamos que hacer uso de recursos externos como Intervalos, hilos o eventos asíncronos y sólo sería gestionable para su método execute.
EventsManager.events
EventsManager.events
Array<Function|null>objectprivateEventsManager.events[]
NameRequiredNullableTypedDefault Value
NameRequiredNullableTypedDefault Value

Esta constante objeto privada se encarga de almacenar los eventos para su futura ejecución o gestión según necesidades del entorno que lo aplique.

EventsManager.execute
EventsManager.execute
voidobjectpublicEventsManager.execute...Any|nullarguments
NameRequiredNullableTypedDefault Value
argumentsFalseFalse...Any|null
NameRequiredNullableTypedDefault Value

Este método objeto público permite ejecutar todos los Callbacks registrados en la variable interna events de una sóla llamada con los argumentos unificados.

Este método no tiene una forma iniciar de detención por lo que una vez se ejecuta se requiere de la espera de que termine la ejecución completa de todos los Callbacks.
Si un Callback da una excepción, éste saltará como no controlado y detendrá el proceso en ese punto específico, donde si es el hilo principal detendrá por completo la aplicación.
EventsManager.add
EventsManager.add
IntegerobjectpublicEventsManager.addRequiredFunctionmethod
NameRequiredNullableTypedDefault Value
methodTrueFalseFunction
NameRequiredNullableTypedDefault Value

Este método objeto público permite añadir un nuevo método Callback al evento y retornará su ID en base a su posición dentro del Array que almacena los Callback del evento.

EventsManager.remove
EventsManager.remove
voidobjectpublicEventsManager.removeRequiredIntegeri
NameRequiredNullableTypedDefault Value
iTrueFalseInteger
NameRequiredNullableTypedDefault Value

Este método objeto público permite eliminar un Callback del evento si éste existe en base a su ID de posición dentro del Array.