ProcessInstance.java
package com.bonitasoft.processbuilder.extension;
/**
* Handles process instance operations for REST API extensions.
* Provides methods for validating and processing process instance identifiers.
* <p>
* This class is responsible for validating caseId and id parameters as long values
* and ensuring they are within valid ranges.
* </p>
*/
public class ProcessInstance {
/**
* Validates and retrieves a process instance by case ID.
*
* @param caseIdParam the case ID parameter as a string
* @return the validated case ID as a long
* @throws ValidationException if the caseId is not a valid long
*/
public long getByCaseId(final String caseIdParam) throws ValidationException {
QueryParamValidator.validateMandatoryLong("caseId", caseIdParam);
return Long.parseLong(caseIdParam);
}
/**
* Validates and retrieves a process instance by ID.
*
* @param idParam the ID parameter as a string
* @return the validated ID as a long
* @throws ValidationException if the id is not a valid long
*/
public long getById(final String idParam) throws ValidationException {
QueryParamValidator.validateMandatoryLong("id", idParam);
return Long.parseLong(idParam);
}
}