The use of parameters in a Query is implemented by a basic interface, atg.repository.ParameterSupportView, which extends atg.repository.RepositoryView. The ParameterSupportView interface provides additional method signatures to the executeQuery() methods provided in RepositoryView. This means that for every executeQuery() method, there is a similar one with an optional Object[] argument representing parameter values for any parameters in the Query that is passed in. For example:

public RepositoryItem[] executeQuery(Query pQuery,
       Object[] pParameterValues)

Each element in the pParameterValues array corresponds to a parameter in the given Query. pParameterValues[0] corresponds to the first parameter in the Query, pParameterValues[1] corresponds to the second parameter in the Query, and so on. When you create a Query, you must remember how many parameters the Query has and their order, especially when making compound queries such as AND and OR. You can use the Query.getQueryRepresentation() method to obtain a string of the query representation including all parameter locations.

Also, the atg.repository.QueryBuilder interface is extended by an interface named atg.repository.ParameterSupportQueryBuilder. This interface adds a single method to create a parameter QueryExpression that can be used in queries created by the ParameterSupportQueryBuilder:

public QueryExpression createParameterQueryExpression()
    throws RepositoryException

The atg.adapter.gsa.GSAView class used by the SQL repository implements the atg.repository.ParameterSupportView interface, and the atg.adapter.gsa.query.Builder class implements the atg.repository.ParameterSupportQueryBuilder interface. This makes parameterized queries available in the SQL repository.

loading table of contents...