![JAR search and dependency download from the Maven repository](/logo.png)
org.hibernate.dialect.function.VarArgsSQLFunction Maven / Gradle / Ivy
The newest version!
//$Id: VarArgsSQLFunction.java 6608 2005-04-29 15:32:30Z oneovthafew $
package org.hibernate.dialect.function;
import java.util.List;
import org.hibernate.QueryException;
import org.hibernate.engine.Mapping;
import org.hibernate.engine.SessionFactoryImplementor;
import org.hibernate.type.Type;
/**
* Support for slightly more general templating than StandardSQLFunction,
* with an unlimited number of arguments.
* @author Gavin King
*/
public class VarArgsSQLFunction implements SQLFunction {
private final String begin;
private final String sep;
private final String end;
private final Type type;
public VarArgsSQLFunction(Type type, String begin, String sep, String end) {
this.begin = begin;
this.sep = sep;
this.end = end;
this.type = type;
}
public VarArgsSQLFunction(String begin, String sep, String end) {
this.begin = begin;
this.sep = sep;
this.end = end;
this.type = null;
}
public Type getReturnType(Type columnType, Mapping mapping) throws QueryException {
return type==null ? columnType : type;
}
public boolean hasArguments() {
return true;
}
public boolean hasParenthesesIfNoArguments() {
return true;
}
public String render(List args, SessionFactoryImplementor factory) throws QueryException {
StringBuffer buf = new StringBuffer().append(begin);
for ( int i=0; i
© 2015 - 2025 Weber Informatics LLC | Privacy Policy