de.jdataset
Class ParameterList

java.lang.Object
  extended by de.jdataset.ParameterList
All Implemented Interfaces:
java.io.Serializable

public final class ParameterList
extends java.lang.Object
implements java.io.Serializable

Eine Liste von Name-Value-Pairs für parametrisierte Abfragen.

Bei der Definition von Zugriffen in der Konfigurationsdatei kann das Attribut "where" mit einer Bedingung für die Datenbankselektion je Tabelle versehen werden.
Neben konstanten Werten ("WHERE Status = 1") dürfen auch Named Parameter definiert werden, die erst zur Laufzeit mit Inhalt gefüllt werden: "WHERE Status = $Status".

Auf dieser Art wird eine variable "Status" definiert, deren Wert im Zusammenhang mit einer Abfrage gesetzt weden muß.

 ...
 RootTable tablename="MyTable" pk="oid" where="Name1 LIKE $name AND Vorname = $vorname"
 ...
 PL pl = new PL();
 ...
 ParameterList lst = new ParameterList();
 lst.add(new NVPair("Name", "Müller%"));
 lst.add(new NVPair("Vorname", "Rudi"));
 JDataSet ds = pl.getDataset("MyRequestName", lst);
 

See Also:
Serialized Form

Constructor Summary
ParameterList()
           
 
Method Summary
 void addParameter(NVPair nv)
          Fügt ein neues Name-Value-Pair der ParameterListe hinzu.
 void addParameter(java.lang.String name, java.math.BigDecimal value)
          Fügt ein neues Name-Value-Pair der ParameterListe hinzu.
 void addParameter(java.lang.String name, java.math.BigInteger value)
          Fügt ein neues Name-Value-Pair der ParameterListe hinzu.
 void addParameter(java.lang.String name, boolean value)
          Fügt ein neues Name-Value-Pair der ParameterListe hinzu.
 void addParameter(java.lang.String name, byte value)
          Fügt ein neues Name-Value-Pair der ParameterListe hinzu.
 void addParameter(java.lang.String name, char value)
          Fügt ein neues Name-Value-Pair der ParameterListe hinzu.
 void addParameter(java.lang.String name, java.util.Date value)
          Fügt ein neues Name-Value-Pair der ParameterListe hinzu.
 void addParameter(java.lang.String name, double value)
          Fügt ein neues Name-Value-Pair der ParameterListe hinzu.
 void addParameter(java.lang.String name, float value)
          Fügt ein neues Name-Value-Pair der ParameterListe hinzu.
 void addParameter(java.lang.String name, int value)
          Fügt ein neues Name-Value-Pair der ParameterListe hinzu.
 void addParameter(java.lang.String name, java.util.List<?> value)
          Fügt ein neues Name-Value-Pair der ParameterListe hinzu.
 void addParameter(java.lang.String name, long value)
          Fügt ein neues Name-Value-Pair der ParameterListe hinzu.
 void addParameter(java.lang.String name, java.lang.Object value)
          Fügt ein neues Name-Value-Pair der ParameterListe hinzu.
 void addParameter(java.lang.String name, short value)
          Fügt ein neues Name-Value-Pair der ParameterListe hinzu.
 void addParameter(java.lang.String name, java.lang.String value)
          Fügt ein neues Name-Value-Pair der ParameterListe hinzu.
 void addParameter(java.lang.String name, java.lang.String value, int dataType)
          Fügt ein neues Name-Value-Pair der ParameterListe hinzu.
 void addParameter(java.lang.String name, java.sql.Timestamp value)
          Fügt ein neues Name-Value-Pair der ParameterListe hinzu.
 int getMaxExecutionTime()
           
 int getMaxRows()
           
 NVPair getParameter(java.lang.String name)
          Liefert das NVPair unter dem angegebenen Name.
 int getQueryTimeout()
           
 int getSQLDataType(java.lang.Object value)
           
 java.util.Iterator<NVPair> iterator()
          Liefert den Iterator über die NVPairs
 void setMaxExecutionTime(int maxExecutionTime)
          Weiche Grenze; es wird bei Überschreitung ein Eintrag in das Slow Query Log geschrieben
 void setMaxRows(int maxRows)
           
 void setParameter(java.lang.String name, java.lang.String value)
          Setzt den Value eines Name-Value-Pairs neu.
 void setQueryTimeout(int queryTimeout)
          JDBC Query Timeout in Sekunden (harte Grenze; es wird bei Überschreitung eine Exception geworfen)
 int size()
          Die Anzahl Parameter in der Liste
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ParameterList

public ParameterList()
Method Detail

size

public int size()
Die Anzahl Parameter in der Liste


addParameter

public void addParameter(NVPair nv)
Fügt ein neues Name-Value-Pair der ParameterListe hinzu.

Wirft eine IllegalArgumentException, wenn der Name doppelt vergeben wird.


addParameter

public void addParameter(java.lang.String name,
                         java.lang.String value)
Fügt ein neues Name-Value-Pair der ParameterListe hinzu. Wirft eine IllegalArgumentException, wenn der Name doppelt vergeben wird.


addParameter

public void addParameter(java.lang.String name,
                         java.lang.String value,
                         int dataType)
Fügt ein neues Name-Value-Pair der ParameterListe hinzu. Wirft eine IllegalArgumentException, wenn der Name doppelt vergeben wird.


addParameter

public void addParameter(java.lang.String name,
                         java.lang.Object value)
Fügt ein neues Name-Value-Pair der ParameterListe hinzu. Wirft eine IllegalArgumentException, wenn der Name doppelt vergeben wird.


addParameter

public void addParameter(java.lang.String name,
                         java.util.List<?> value)
Fügt ein neues Name-Value-Pair der ParameterListe hinzu.

Parameters:
name -
value - Hier eine Liste von Werten für Statements wie ... WHERE ID IN (?) ...

addParameter

public void addParameter(java.lang.String name,
                         boolean value)
Fügt ein neues Name-Value-Pair der ParameterListe hinzu. Wirft eine IllegalArgumentException, wenn der Name doppelt vergeben wird.


addParameter

public void addParameter(java.lang.String name,
                         byte value)
Fügt ein neues Name-Value-Pair der ParameterListe hinzu. Wirft eine IllegalArgumentException, wenn der Name doppelt vergeben wird.


addParameter

public void addParameter(java.lang.String name,
                         short value)
Fügt ein neues Name-Value-Pair der ParameterListe hinzu. Wirft eine IllegalArgumentException, wenn der Name doppelt vergeben wird.


addParameter

public void addParameter(java.lang.String name,
                         int value)
Fügt ein neues Name-Value-Pair der ParameterListe hinzu. Wirft eine IllegalArgumentException, wenn der Name doppelt vergeben wird.


addParameter

public void addParameter(java.lang.String name,
                         float value)
Fügt ein neues Name-Value-Pair der ParameterListe hinzu. Wirft eine IllegalArgumentException, wenn der Name doppelt vergeben wird.


addParameter

public void addParameter(java.lang.String name,
                         double value)
Fügt ein neues Name-Value-Pair der ParameterListe hinzu. Wirft eine IllegalArgumentException, wenn der Name doppelt vergeben wird.


addParameter

public void addParameter(java.lang.String name,
                         long value)
Fügt ein neues Name-Value-Pair der ParameterListe hinzu. Wirft eine IllegalArgumentException, wenn der Name doppelt vergeben wird.


addParameter

public void addParameter(java.lang.String name,
                         char value)
Fügt ein neues Name-Value-Pair der ParameterListe hinzu. Wirft eine IllegalArgumentException, wenn der Name doppelt vergeben wird.


addParameter

public void addParameter(java.lang.String name,
                         java.math.BigInteger value)
Fügt ein neues Name-Value-Pair der ParameterListe hinzu. Wirft eine IllegalArgumentException, wenn der Name doppelt vergeben wird.


addParameter

public void addParameter(java.lang.String name,
                         java.math.BigDecimal value)
Fügt ein neues Name-Value-Pair der ParameterListe hinzu. Wirft eine IllegalArgumentException, wenn der Name doppelt vergeben wird.


addParameter

public void addParameter(java.lang.String name,
                         java.util.Date value)
Fügt ein neues Name-Value-Pair der ParameterListe hinzu. Wirft eine IllegalArgumentException, wenn der Name doppelt vergeben wird.


addParameter

public void addParameter(java.lang.String name,
                         java.sql.Timestamp value)
Fügt ein neues Name-Value-Pair der ParameterListe hinzu. Wirft eine IllegalArgumentException, wenn der Name doppelt vergeben wird.


setParameter

public void setParameter(java.lang.String name,
                         java.lang.String value)
Setzt den Value eines Name-Value-Pairs neu.

Parameters:
name - Ein der Liste bereits zugewiesener Name
value - Der neue Value für das Pair

iterator

public java.util.Iterator<NVPair> iterator()
Liefert den Iterator über die NVPairs

Returns:

getParameter

public NVPair getParameter(java.lang.String name)
Liefert das NVPair unter dem angegebenen Name. Wirft eine IllegalArgumentException, wenn es unter dem Namen keinen Parameter gibt.

Parameters:
name -
Returns:

getSQLDataType

public int getSQLDataType(java.lang.Object value)

getMaxRows

public int getMaxRows()

setMaxRows

public void setMaxRows(int maxRows)

getQueryTimeout

public int getQueryTimeout()

setQueryTimeout

public void setQueryTimeout(int queryTimeout)
JDBC Query Timeout in Sekunden (harte Grenze; es wird bei Überschreitung eine Exception geworfen)

Parameters:
queryTimeout -

getMaxExecutionTime

public int getMaxExecutionTime()

setMaxExecutionTime

public void setMaxExecutionTime(int maxExecutionTime)
Weiche Grenze; es wird bei Überschreitung ein Eintrag in das Slow Query Log geschrieben

Parameters:
maxExecutionTime -

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object