|
Elexis API documentationVersion 2.1.6 as of December 11 2011 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectch.elexis.data.Query<T>
public class Query<T>
Query manages all database queries of PersistentObjects and derived classes Die Query-Klasse erledigt alle Datenbankabfragen auf PersistentObjects und davon abgeleitete Klassen.
Field Summary | |
---|---|
static java.lang.String |
EQUALS
|
static java.lang.String |
GREATER
|
static java.lang.String |
GREATER_OR_EQUAL
|
static java.lang.String |
LESS
|
static java.lang.String |
LESS_OR_EQUAL
|
static java.lang.String |
LIKE
|
static java.lang.String |
NOT_EQUAL
|
Constructor Summary | |
---|---|
Query(java.lang.Class<? extends PersistentObject> cl)
Konstruktor |
|
Query(java.lang.Class<? extends PersistentObject> cl,
java.lang.String string)
This method allows to set a custom sql query string; E.g. |
|
Query(java.lang.Class<? extends PersistentObject> cl,
java.lang.String field,
java.lang.String value)
Bequemlichkeits-Konstruktor, der gleich eine Bedingung einträgt |
Method Summary | |
---|---|
boolean |
add(java.lang.String feld,
java.lang.String operator,
java.lang.String wert)
|
boolean |
add(java.lang.String feld,
java.lang.String operator,
java.lang.String wert,
boolean toLower)
Bedingung zufügen. |
void |
addPostQueryFilter(IFilter f)
PostQueryFilters sind Filter-Objeckte, die nach der Datenbankanfrage auf das zurückgelieferte Resultat angewendet werden. |
void |
addToken(java.lang.String token)
Unverändertes Token in den SQL-String einfügen |
void |
and()
AND-Verknüpfung anfügen. |
void |
clear()
Abfrage löschen, beispielsweise um dasselbe Query-Objekt für eine neue Abfrage zu verwenden. |
void |
endGroup()
Gruppierung ende |
java.util.List<T> |
execute()
Die zusammengestellte Abfrage ausführen Dies kann aufgerufen werden, nachdem alle nötigen add(), AND(), or() und orderBy() Operationen eingegeben wurden und liefert das Ergebnis dieser Abfrage. execute() kann mit derselben Abfrage beliebig oft aufgerufen werden (und kann unzterschiedliche Resultate liefern, wenn von anderer Stelle zwischenzeitlich eine Änderung der Datenbank erfolgte) |
java.util.Collection<T> |
execute(java.util.Collection<T> collection)
|
java.util.ArrayList<java.lang.String> |
execute(java.sql.PreparedStatement ps,
java.lang.String[] values)
|
java.util.List<T> |
executeWithDeleted()
execute query and include elements that are marked deleted |
java.lang.String |
findSingle(java.lang.String f,
java.lang.String op,
java.lang.String v)
Bequemlichkeitsmethode für eine Abfrage, die nur einen einzigen Treffer liefern soll. |
java.lang.String |
getActualQuery()
|
java.lang.String |
getLastQuery()
|
java.sql.PreparedStatement |
getPreparedStatement(java.sql.PreparedStatement previous)
|
void |
insertFalse()
Bedingung einsetzen, die nie erfüllt ist |
void |
insertTrue()
Bedingung einsetzen, die immer erfüllt ist |
void |
or()
OR-Verknüpfung anfügen |
void |
orderBy(boolean reverse,
java.lang.String... n1)
Sortierung angeben. |
java.util.Collection<T> |
queryExpression(java.lang.String expr,
java.util.Collection<T> ret)
Eine komplexe selbst zusammengestellte Abfrage ausführen. |
java.util.List<T> |
queryFields(java.lang.String[] fields,
java.lang.String[] values,
boolean exact)
Bequemlichkeitsmethode, um gleich mehrere Felder auf einmal anzugeben, welche mit AND verknüpft werden. |
void |
removePostQueryFilter(IFilter f)
|
int |
size()
Die Grösse des zu erwartenden Resultats abfragen. |
void |
startGroup()
Folgende Ausdrücke bis endGroup gruppieren |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String EQUALS
public static final java.lang.String GREATER
public static final java.lang.String LESS
public static final java.lang.String LESS_OR_EQUAL
public static final java.lang.String GREATER_OR_EQUAL
public static final java.lang.String NOT_EQUAL
public static final java.lang.String LIKE
Constructor Detail |
---|
public Query(java.lang.Class<? extends PersistentObject> cl)
cl
- Die Klasse, auf die die Abfrage angewendet werden soll (z.B. Patient.class)public Query(java.lang.Class<? extends PersistentObject> cl, java.lang.String field, java.lang.String value)
cl
- Klasse, auf die Abfrage angewendet wirdfield
- Feldnamevalue
- Gesuchter Wert von Feldnamepublic Query(java.lang.Class<? extends PersistentObject> cl, java.lang.String string)
cl
- the persistent object to set the query forstring
- the SQL query stringMethod Detail |
---|
public void clear()
public void startGroup()
public void endGroup()
public void insertTrue()
public void insertFalse()
public void and()
public void or()
public boolean add(java.lang.String feld, java.lang.String operator, java.lang.String wert, boolean toLower)
feld
- Das Feld, für das die Bedingung giltoperator
- Vergleich (z.B. "=", "LIKE", ">", "<")wert
- Der Wert, der gesucht wird. Für Wildcard suche kann der Wert % enthalten,
der Operator muss dann aber "LIKE" seintoLower
- bei true werden die Parameter mit der SQL-Funktion "lower()" in
+ * Kleinschreibung umgewandelt, so dass die Gross-/Kleinschreibung egal ist.
public boolean add(java.lang.String feld, java.lang.String operator, java.lang.String wert)
public void addToken(java.lang.String token)
public java.lang.String findSingle(java.lang.String f, java.lang.String op, java.lang.String v)
f
- Feldop
- Vergleichsoperator (s. auch unter add())v
- Wert (@see Query#add() )
public java.util.List<T> queryFields(java.lang.String[] fields, java.lang.String[] values, boolean exact)
fields
- Die Felder, die in die abfrage eingesetzt werden sollenvalues
- die Werte, nach denen gesucht werden soll. Wenn values für ein Feld leer ist (null
oder ""), dann wird dieses Feld aus der Abfrage weggelassenexact
- false, wenn die Abfrage mit LIKE erfolgen soll, sonst mit =
public java.sql.PreparedStatement getPreparedStatement(java.sql.PreparedStatement previous)
public java.util.ArrayList<java.lang.String> execute(java.sql.PreparedStatement ps, java.lang.String[] values)
public void orderBy(boolean reverse, java.lang.String... n1)
reverse
- true bei umgekehrter Sortierungn1
- Beliebig viele Strings, die in absteigender Priorität die Felder angeben, nach
denen sortiert werden soll.public java.util.List<T> executeWithDeleted()
public java.util.List<T> execute()
public java.util.Collection<T> execute(java.util.Collection<T> collection)
public java.util.Collection<T> queryExpression(java.lang.String expr, java.util.Collection<T> ret)
expr
- ein für die verwendete Datenbank akzeptabler SQL-String. Es soll nach Möglichkeit
nur Standard-SQL verwendet werden, um sich nicht von einer bestimmten Datenbank
abhängig zu machen. Die Abfrage muss nur nach dem Feld ID fragen; das Objekt wird
von query selbst hergestellt.
public int size()
public java.lang.String getLastQuery()
public java.lang.String getActualQuery()
public void addPostQueryFilter(IFilter f)
f
- ein Filterpublic void removePostQueryFilter(IFilter f)
|
Elexis API documentationVersion 2.1.6 as of December 11 2011 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |