CriteriaValueUtils.java

package com.tradecloud.repository.base.impl;

import com.tradecloud.domain.base.utils.DateRange;
import java.util.Collection;

/**
 *
 * @author jon
 */
public class CriteriaValueUtils {

    public static void addDateRangeCriteriaValue(Collection<CriteriaValue> fields, String fieldName, DateRange dateRange) {
        if (dateRange != null) {
            if (dateRange.getFrom() != null) {
                fields.add(CriteriaValue.gt(fieldName, dateRange.getFrom()));
            }
            if (dateRange.getTo() != null) {
                fields.add(CriteriaValue.lt(fieldName, dateRange.getTo()));
            }
        }
    }

    public static <X extends Enum> void addEqActiveStateCriteriaValue(Collection<CriteriaValue> fields, String field, X state, X ...inactiveStates) {
        if ( state != null ) {
            fields.add(new CriteriaValue(CriteriaOperation.EQUALS, field, state));
        } else {
            fields.add(new CriteriaValue(CriteriaOperation.NOT_IN, field, inactiveStates));
        }
    }

}