ProjectSearchCriteria.java
package de.mirkosertic.powerstaff.project.query;
public record ProjectSearchCriteria(
String projectNumber,
String descriptionShort,
String descriptionLong,
String skills,
String workplace,
String duration,
Integer status,
String debitorNr,
String kreditorNr,
String sortField,
String sortDir
) {
public static ProjectSearchCriteria empty() {
return new ProjectSearchCriteria(null, null, null, null, null, null, null, null, null, null, null);
}
public ProjectSearchCriteria withProjectNumber(final String v) { return new ProjectSearchCriteria(v, descriptionShort, descriptionLong, skills, workplace, duration, status, debitorNr, kreditorNr, sortField, sortDir); }
public ProjectSearchCriteria withDescriptionShort(final String v) { return new ProjectSearchCriteria(projectNumber, v, descriptionLong, skills, workplace, duration, status, debitorNr, kreditorNr, sortField, sortDir); }
public ProjectSearchCriteria withDescriptionLong(final String v) { return new ProjectSearchCriteria(projectNumber, descriptionShort, v, skills, workplace, duration, status, debitorNr, kreditorNr, sortField, sortDir); }
public ProjectSearchCriteria withSkills(final String v) { return new ProjectSearchCriteria(projectNumber, descriptionShort, descriptionLong, v, workplace, duration, status, debitorNr, kreditorNr, sortField, sortDir); }
public ProjectSearchCriteria withWorkplace(final String v) { return new ProjectSearchCriteria(projectNumber, descriptionShort, descriptionLong, skills, v, duration, status, debitorNr, kreditorNr, sortField, sortDir); }
public ProjectSearchCriteria withDuration(final String v) { return new ProjectSearchCriteria(projectNumber, descriptionShort, descriptionLong, skills, workplace, v, status, debitorNr, kreditorNr, sortField, sortDir); }
public ProjectSearchCriteria withStatus(final Integer v) { return new ProjectSearchCriteria(projectNumber, descriptionShort, descriptionLong, skills, workplace, duration, v, debitorNr, kreditorNr, sortField, sortDir); }
public ProjectSearchCriteria withDebitorNr(final String v) { return new ProjectSearchCriteria(projectNumber, descriptionShort, descriptionLong, skills, workplace, duration, status, v, kreditorNr, sortField, sortDir); }
public ProjectSearchCriteria withKreditorNr(final String v) { return new ProjectSearchCriteria(projectNumber, descriptionShort, descriptionLong, skills, workplace, duration, status, debitorNr, v, sortField, sortDir); }
public ProjectSearchCriteria withSortField(final String v) { return new ProjectSearchCriteria(projectNumber, descriptionShort, descriptionLong, skills, workplace, duration, status, debitorNr, kreditorNr, v, sortDir); }
public ProjectSearchCriteria withSortDir(final String v) { return new ProjectSearchCriteria(projectNumber, descriptionShort, descriptionLong, skills, workplace, duration, status, debitorNr, kreditorNr, sortField, v); }
}