Jump to: navigation, search

Scout/Concepts/Sql Lookup Service

< Scout‎ | Concepts
Revision as of 12:44, 22 March 2011 by Dev.jmini.fr (Talk | contribs)


Scout
Wiki Home
Website
DownloadGit
Community
ForumsBlogTwitter
Bugzilla
Bugzilla


A SQL lookup Service is a specific type of Lookup Service that works with a database.

  • implements: I obj.pngILookupService
  • extends: C obj.pngAbstractSqlLookupService


Description

A SQL lookup Service provide a way to implement a Lookup Service that is very efficient to configured, if the call is resolved with a database.

Instead of implementing the 4 methods (getDataByKey(LookupCall call), getDataByText(LookupCall call), getDataByAll(LookupCall call), getDataByRec(LookupCall call)), it is possible to defined the behavior of the lookup service with some configuration properties and events.


Properties

Defined with getConfiguredXxxxxx() methods.

SqlSelect

Note.png
TODO
SqlSelect: what should be the result


It is possible to add some special tags, that define SQL code that is kept, depending on the getDataBy***(LookupCall call) method called on the Lookup Service:

  • <key> and </key>
  • <text> and </text>
  • <all> and </all>
  • <rec> and </rec>

The call is attached to the SQL query as binding. Therefore all getters on the call, are available in the query. (:key for call.getKey(), :text for call.getText(), :master for call.getMaster() ...)

Here an example of a such SQL query:

SELECT language_id, name, NULL, NULL, NULL, NULL, NULL, 1, NULL, 1 
FROM LANGUAGE
<key>WHERE language_id = :key</key>
<text>WHERE UPPER(name) LIKE UPPER('%'||:text||'%')</text>


SortColumn

Note.png
TODO
TODO: SortColumn


Events

Defined with execXxxxxx() methods.

LoadLookupRows

Note.png
TODO
TODO: LoadLookupRows


See Also