GeneticObservationDataFilter.java
/*
* Copyright 2026 Global Crop Diversity Trust
* Licensed under the Apache License, Version 2.0
* See LICENSE file in project root folder or http://www.apache.org/licenses/LICENSE-2.0
*/
package org.gringlobal.service.filter;
import java.util.List;
import org.genesys.blocks.model.filters.NumberFilter;
import org.genesys.blocks.model.filters.StringFilter;
import org.gringlobal.model.GeneticObservationData;
import org.gringlobal.model.QGeneticObservationData;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import com.querydsl.core.types.Predicate;
/**
* Filters for {@link GeneticObservationData}
*/
@Getter
@Setter
@EqualsAndHashCode(callSuper = true)
@Accessors(fluent = true)
public class GeneticObservationDataFilter extends CooperatorOwnedModelFilter<GeneticObservationDataFilter, GeneticObservationData, QGeneticObservationData> {
private static final long serialVersionUID = 4527343190610650266L;
/** The genetic annotation filter. */
public GeneticAnnotationFilter geneticAnnotation;
/** The genetic observation filter. */
public GeneticObservationFilter geneticObservation;
/** The inventory filter. */
public InventoryFilter inventory;
/** The individual number. */
public NumberFilter<Integer> individual;
/** The value. */
public StringFilter value;
/** The individual allele number. */
public NumberFilter<Integer> individualAlleleNumber;
@Override
public List<Predicate> collectPredicates() {
return collectPredicates(QGeneticObservationData.geneticObservationData);
}
public List<Predicate> collectPredicates(QGeneticObservationData geneticObservationData) {
final List<Predicate> predicates = super.collectSuperPredicates(geneticObservationData, geneticObservationData._super);
if (geneticAnnotation != null) {
predicates.add(geneticAnnotation.nestedPredicate(geneticObservationData.geneticAnnotation()));
}
if (geneticObservation != null) {
predicates.add(geneticObservation.nestedPredicate(geneticObservationData.geneticObservation()));
}
if (inventory != null) {
predicates.add(inventory.nestedPredicate(geneticObservationData.inventory()));
}
if (individual != null) {
predicates.add(individual.buildQuery(geneticObservationData.individual));
}
if (value != null) {
predicates.add(value.buildQuery(geneticObservationData.value));
}
if (individualAlleleNumber != null) {
predicates.add(individualAlleleNumber.buildQuery(geneticObservationData.individualAlleleNumber));
}
return predicates;
}
public synchronized GeneticAnnotationFilter geneticAnnotation() {
return geneticAnnotation == null ? geneticAnnotation = new GeneticAnnotationFilter() : this.geneticAnnotation;
}
public synchronized GeneticObservationFilter geneticObservation() {
return geneticObservation == null ? geneticObservation = new GeneticObservationFilter() : this.geneticObservation;
}
public synchronized InventoryFilter inventory() {
return inventory == null ? inventory = new InventoryFilter() : this.inventory;
}
public synchronized NumberFilter<Integer> individual() {
return individual == null ? individual = new NumberFilter<>() : this.individual;
}
public synchronized StringFilter value() {
return value == null ? value = new StringFilter() : this.value;
}
public synchronized NumberFilter<Integer> individualAlleleNumber() {
return individualAlleleNumber == null ? individualAlleleNumber = new NumberFilter<>() : this.individualAlleleNumber;
}
}