CaseTypeModule
Sub-módulo casoType — Producto en Shori.
En el SDK este sub-módulo se accede con client.caso().casoType().
Conceptualmente en Shori, un Producto (casoType) es un
subproceso — no es un "tipo de caso" genérico, sino el cuarto
nivel de la jerarquía de clasificación de Shori:
Servicio (primaryLevel)
└── Proceso (secondaryLevel)
└── Producto (productType / casoType) ← este módulo
└── Caso
El Producto agrupa casos del mismo subproceso y define su estructura de
estados, formularios y flujo de trabajo. Se accede a través de
client.caso().casoType().
Uso principal
// Obtener un producto con todos sus estados
ProductResponse producto = client.caso().casoType().findById("producto-documentId");
System.out.println("Producto: " + producto.getName());
// Obtener los estados disponibles del producto
List estados = producto.getStates();
estados.forEach(e -> System.out.println("Estado: " + e.getName() + " - " + e.getId()));
Metodos
findById(String casoTypeId)
Obtiene la definición completa de un Producto por su identificador.
Retorna toda la información del Producto incluyendo sus estados, lo cual es útil para:
- Obtener IDs de estados para filtrar búsquedas de casos
- Conocer los estados disponibles para cambios de estado
- Validar la configuración del flujo de trabajo del producto
// Obtener el producto y sus estados
ProductResponse producto = client.caso().casoType().findById("D0480B5C-8730-4CD9-858A-151AF7C0D852");
// Obtener IDs de estados abiertos con ShoriUtils
List idsAbiertos = ShoriUtils.openStatesIds(producto);
// Buscar todos los casos del producto en estados abiertos
List casos = client.caso().searchAll(
CaseFilter.builder()
.casoTypeId(FilterOperator.EQ, producto.getId())
.workingSubStateId(FilterOperator.IN, idsAbiertos.toArray(new String[0]))
);
Parametros:
casoTypeId— Identificador único (UUID) del Producto (casoType)
Retorna: CasoTypeResponse con la definición completa del Producto y sus estados
Lanza:
ResourceNotFoundException— si el Producto no existe (HTTP 404)ApiException— si hay error al consultar el API
findByIdLite(String casoTypeId)
Obtiene la definición básica (sin estados detallados) de un Producto.
Más rápido que findById cuando no necesitas los estados.
Parametros:
casoTypeId— Identificador único (UUID) del Producto (casoType)
Retorna: CasoTypeResponse sin la definición completa del Producto