/******************************************************************************* * Copyright (c) 2010 Robert "Unlogic" Olofsson (unlogic@unlogic.se). * All rights reserved. This program and the accompanying materials * are made available under the terms of the GNU Lesser Public License v3 * which accompanies this distribution, and is available at * http://www.gnu.org/licenses/lgpl-3.0-standalone.html ******************************************************************************/ package se.unlogic.standardutils.dao; import java.util.Collection; public class QueryParameter<BeanType,ColumnType> { private final ColumnType value; private final Collection<ColumnType> values; private Column<BeanType, ? super ColumnType> column; private String operator = QueryOperators.EQUALS.getOperator(); QueryParameter(Column<BeanType,? super ColumnType> column, ColumnType value) { super(); this.column = column; this.value = value; this.values = null; } QueryParameter(Column<BeanType,? super ColumnType> column, ColumnType value, String operator) { super(); this.column = column; this.value = value; this.operator = operator; this.values = null; } QueryParameter(Column<BeanType,? super ColumnType> column, String operator) { super(); this.column = column; this.operator = operator; this.value = null; this.values = null; } QueryParameter(Column<BeanType, ? super ColumnType> column, Collection<ColumnType> values, String operator) { this.column = column; this.operator = operator; this.value = null; this.values = values; } public ColumnType getValue() { return value; } public Collection<ColumnType> getValues() { return values; } public Column<BeanType,? super ColumnType> getColumn() { return column; } public String getOperator() { return operator; } public boolean hasValues(){ return this.value != null || this.values != null; } public boolean hasMultipleValues(){ return this.values != null; } }