All Downloads are FREE. Search and download functionalities are using the official Maven repository.

it.amattioli.dominate.hibernate.specifications.HqlUtils Maven / Gradle / Ivy

The newest version!
package it.amattioli.dominate.hibernate.specifications;

import java.util.HashMap;
import java.util.Map;

import it.amattioli.dominate.specifications.TotalOrderComparisonType;
import static it.amattioli.dominate.specifications.TotalOrderComparisonType.*;

public class HqlUtils {
	
	private HqlUtils() {}
	
	public static String normalizedPropertyName(String propertyName) {
		return propertyName
			.replace('.', '_')
			.replace('[','_')
			.replace(']','_')
			.replace('(','_')
			.replace(')','_')
			.replace('\'','_');
	}
	
	public static String hqlPropertyName(String propertyName) {
		return propertyName
			.replace("(", "['")
			.replace(")", "']");
	}
	
	private static Map totalOrderOperators = new HashMap() {{
		put(EQUAL,      "=");
		put(GREATER,    ">");
		put(GREATER_EQ, ">=");
		put(LOWER,      "<");
		put(LOWER_EQ,   "<=");
	}};
	
	public static String getTotalOrderOperator(TotalOrderComparisonType comparisonType) {
		return totalOrderOperators.get(comparisonType);
	}
	
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy