¿Cómo uso las funciones centrales disponibles para un flujo?
El código generado después de construir una solución flo-lang proporciona una serie de características estándar que te permiten interactuar con el dominio.
Informar al dominio que un pago ha caducado por timeout
Cuando un pago expira por timeout, es necesario decirle al dominio que esto ha ocurrido. Para hacerlo, hay una clase de ayuda disponible en el dominio.
XYZDomain.timeout().execute(aggregateId, actionName);
Funciones ad-hoc dentro del dominio
La clase del dominio también proporciona la capacidad de realizar funciones ad-hoc dentro del flujo, estas son:
-
Abortar un pago
-
Acceder al estado del pago
-
Acceder al agregado del pago
Estas pueden hacerse directamente llamando al método apropiado en la propia clase del dominio:
XYZDomain.abort(aggregateId, reason);
XYZDomain.getStatus(aggregateId);
XYZDomain.getAggregate(aggregateId);
Identificar los flujos y versiones disponibles
También podemos llamar a un conjunto de métodos proporcionados por el dominio para consultar detalles sobre cada uno de los flujos disponibles dentro de él: Para cada flujo tenemos un acceso estático disponible como a continuación:
XYZDomain.Flows.AFlow.name();
XYZDomain.Flows.AFlow.getAggregate();
XYZDomain.Flows.AFlow.getLatestVersion();