Package railo.runtime.functions.orm

Source Code of railo.runtime.functions.orm.ORMExecuteQuery

package railo.runtime.functions.orm;

import railo.runtime.PageContext;
import railo.runtime.exp.FunctionException;
import railo.runtime.exp.PageException;
import railo.runtime.op.Caster;
import railo.runtime.op.Decision;
import railo.runtime.orm.ORMSession;
import railo.runtime.orm.ORMUtil;
import railo.runtime.type.ArrayImpl;
import railo.runtime.type.Struct;

public class ORMExecuteQuery {
 
  public static Object call(PageContext pc,String hql) throws PageException {
    return _call(pc,hql,null,false,null)
  }
  public static Object call(PageContext pc,String hql,Object paramsOrUnique) throws PageException {
    if(Decision.isCastableToBoolean(paramsOrUnique)){
      return _call(pc,hql,null,Caster.toBooleanValue(paramsOrUnique),null);
    }
    return _call(pc,hql,paramsOrUnique,false,null);
  }
  public static Object call(PageContext pc,String hql,Object paramsOrUnique,Object uniqueOrQueryOptions) throws PageException {
    if(Decision.isCastableToBoolean(paramsOrUnique)){
      return _call(pc,hql,null,Caster.toBooleanValue(paramsOrUnique),Caster.toStruct(uniqueOrQueryOptions));
    }
    if(Decision.isCastableToBoolean(uniqueOrQueryOptions)){
      return _call(pc,hql,paramsOrUnique,Caster.toBooleanValue(uniqueOrQueryOptions),null);
    }
    return _call(pc,hql,paramsOrUnique,false,Caster.toStruct(uniqueOrQueryOptions));
  }

  public static Object call(PageContext pc,String hql,Object params,Object unique, Object queryOptions) throws PageException {
    return _call(pc,hql,params,Caster.toBooleanValue(unique),Caster.toStruct(queryOptions));
  }
  private static Object _call(PageContext pc,String hql, Object params, boolean unique, Struct queryOptions) throws PageException {
    ORMSession session=ORMUtil.getSession(pc);
    if(params==null)
      return session.executeQuery(pc,hql,new ArrayImpl(),unique,queryOptions);
    else if(Decision.isStruct(params))
      return session.executeQuery(pc,hql,Caster.toStruct(params),unique,queryOptions);
    else if(Decision.isArray(params))
      return session.executeQuery(pc,hql,Caster.toArray(params),unique,queryOptions);
    else if(Decision.isCastableToStruct(params))
      return session.executeQuery(pc,hql,Caster.toStruct(params),unique,queryOptions);
    else if(Decision.isCastableToArray(params))
      return session.executeQuery(pc,hql,Caster.toArray(params),unique,queryOptions);
    else
      throw new FunctionException(pc, "ORMExecuteQuery", 2, "params", "cannot convert the params to a array or a struct");
  }
}
TOP

Related Classes of railo.runtime.functions.orm.ORMExecuteQuery

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.