package org.mobicents.slee.container.deployment.profile.jpa;
import java.util.ArrayList;
/**
* QueryWrapper.java
*
* @author <a href="mailto:brainslog@gmail.com"> Alexandre Mendonca </a>
*/
public class QueryWrapper {
public static String TABLE_ENTITY_IDENTIFIER = "<CLASS>";
private String querySQL;
private long maxMatches = -1;
private boolean isReadOnly = false;
private ArrayList<Object> dynamicParameters;
public QueryWrapper(String querySQL, long maxMatches, boolean isReadOnly)
{
this.querySQL = querySQL;
this.maxMatches = maxMatches;
this.isReadOnly = isReadOnly;
}
public QueryWrapper(String querySQL, ArrayList<Object> dynamicParameters)
{
this.querySQL = querySQL;
this.dynamicParameters = dynamicParameters;
}
public String getQueryNativeSQL(String tableEntityName)
{
return querySQL.replaceFirst( TABLE_ENTITY_IDENTIFIER, tableEntityName );
}
public String getQuerySQL(String tableEntityName)
{
return querySQL.substring(querySQL.indexOf("FROM <")).replaceFirst( TABLE_ENTITY_IDENTIFIER, tableEntityName );
}
public long getMaxMatches()
{
return maxMatches;
}
public boolean isReadOnly()
{
return isReadOnly;
}
public ArrayList<Object> getDynamicParameters()
{
return dynamicParameters;
}
}