Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * Copyright (C) 2012 Clarion Media, LLC
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.clarionmedia.infinitum.orm.criteria.criterion;

Represents a condition restraining a java.lang.reflect.Field value to a specified set of values.

Author(s):
Tyler Treat
Version:
1.0 02/18/12
public class InExpression extends Criterion {
	private static final long serialVersionUID = 1282172886230328002L;
	private Object[] mValues;

Constructs a new InExpression with the given java.lang.reflect.Field name and array of values.

Parameters:
fieldName the name of the field to check value for
values the set of values to constrain the Field to
	public InExpression(String fieldNameObject[] values) {
		super(fieldName);
		 = values;
	}
	public String toSql(Criteria<?> criteriathrows InvalidCriteriaException {
		StringBuilder query = new StringBuilder();
		Class<?> c = criteria.getEntityClass();
		Field f = null;
		try {
			f = policy.findPersistentField(c);
			if (f == null)
				throw new InvalidCriteriaException(String.format("Invalid Criteria for type '%s'.",
						c.getName()));
			f.setAccessible(true);
catch (SecurityException e) {
			throw new InvalidCriteriaException(String.format("Invalid Criteria for type '%s'.",
					c.getName()));
		}
		String colName = policy.getFieldColumnName(f);
		query.append(colName).append(' ').append(.).append(" (");
		String prefix = "";
		for (Object val : ) {
			query.append(prefix);
			prefix = ", ";
			if (criteria.getObjectMapper().isTextColumn(f))
				query.append("'").append(val.toString()).append("'");
			else
				query.append(val.toString());
		}
		query.append(')');
		return query.toString();
	}
New to GrepCode? Check out our FAQ X