|
Letzte
Bearbeitung dieses Dokuments: |
Code
Erklärungen
und Anwendungsbeispiele
Verwandte
Dokumentation
package
js_base.bos;
/*
*
de: Package mit Klassen für den Zugriff auf
Datenbanken.
* en: Package with classes to access
databases. */
import
java.sql.*;
/*
*
de: Package und Klasse für das Ermitteln des
System-Datums.
* en: Package and class to get the
system-date. */import
java.util.Date;
import
js_base.bo.*;
import js_base.dba.*;
/*
*
de:
* JSBS-Package und Klasse mit der
Daten-Struktur mit den minimal notwendigen Parametern.
*
en:
* JSBS-package and class with the
data-structure containing the minimum set of parameters. */
import
js_base.structures.JSBS_MinimalParameters;
/*
*
de:
* JSBS-Package und Klasse zum Packen
mehrerer numerischer Werte in eine Zeichenkette.
* en:
*
JSBS-package and class to pack several numeric values into a
String. */
import
js_base.utilities.JSBS_Formatter;
/**
*
* @author kurt(at)javascout[biz]
* @date
2009-10-22
*
* @description
*
de:
* Server-seitiger Teil des Business Object für
die 'FramePosition'.
*
* Diese
Klasse hat die folgenden Aufgaben:
* * Implementierung
der Logik die in den Methoden zur Bearbeitung von persistenten
Daten
* des Business Objekts einfachere
Methoden zur Steuerung von Data-Base-Objects (DBA)
*
(deren Code mit SQL-Kommandos direkt auf die Datenbank
zugreift) aufruft.
* * Logik zum Entscheiden ob eine
Transaktion vollständig ausgeführt wurde und mit einem
*
'commit' abgeschlossen werden kann oder während der
Transaktion ein Fehler aufgetreten ist
* alle
bisherigen Operationen auf die Datenbank durch ein 'Rollback'
ungültig gemacht werden
* müssen.
*
*
Eine Beschreibung der Variablen und des Anwender-bekannten Schlüssels
finden Sie in der
* geerbten Generellen BO-Klasse.
*
* en: * Server-Side
Derivation of the Business Object for the 'FramePosition'.
*
* This class has the following
function:
* * Implements the logic to break
down the methods to handle persistant data of the
*
Business Object to the more simple methods (close to the
SQL-statements of the DB-system)
* of
the Data-Base-Access objects.
* * Logic to
decide if a transaction was fulfilled completely and can be
committed
or failed at one
step and has to be 'rolled back' to assure the data-integrity.
*
* For the variables and the user-known key
please refer to the inherited BO-class.
*
*
@change-log
* when who why
*
--------------------------------------------------------
*
*/public
class
JSBS_FramePosition_BOS
extends
JSBS_FramePosition_BO {
/*
*
VARIABLE / VARIABLES.
* -------------------- *//*
*
de:
*
Merker ob das Objekt dieser Klasse durch ein BOC (Client-Side-Klasse
eines Business Object)
*
oder durch ein EJB (Enterprise Java Bean) konstruiert wurde.
*
Diese Information wird benötigt wenn ein 'Commit' oder 'Rollback'
ausgeführt werden soll.
*
'Commit' und 'Rollback' werden nur in den Objekten ausgeführt die
direkt von einem BOC oder EJB
*
konstruiert wurden – nicht in Objekten, die von einem anderen BOS
konstruiert wurden.
*
en:
* Flag if
the object of this class was constructed by a BOC (Client-Side-class
of a Business Object)
*
or by a EJB (Enterprise Java Bean).
*
This Information is needed when a 'Commit' or a 'Rollback' has to be
performed.
*
'Commit' and 'Rollback' are only done in objects that were
constructed by BOC or EJB -
*
not in objects that were constructed by another BOS. */
private
boolean
bolObjectConstructedByBOC_or_EJB
;
/*
*
de:
*
Referenz zur bestehenden Verbindung zur Datenbank.
*
Dieser Werte muss von der aufrufenden Methode als Parameter übergeben
werden
*
wenn diese Klasse 'konstruiert' wird.
*
en:
*
Referenc to the established connection to the database.
* This
value has to be passed by the calling method when this class is
constructed. */
private
Connection
structDBCon
=
null
;
/*
*
de: *
Minimales Set von Parameter mit Informationen über Anwender,
Arbeitsplatz
*
und Datum des Client von dem die Datenbank-Operation angefordert
wurde.
*
Verwendet wird der Anwender-Name und das Arbeitsdatum des
Arbeitsplatzes auf
*
dem das Client-Programm ausgeführt wird.
*
Das Datum des Client-Programms kann unterschiedlich zum System-Datum
sein.
*
en:
* Minimal Parameters containing user-, workstation-
and date-information from
* where the request for the
database-operation originated.
* Used is the user-name
and the date the workstation is set to.
* The date of
the workstation might be different of the system-date. */
private
JSBS_MinimalParameters
structJSBS_MinimalParameters
=
null
;
/*
*
de: *
Datenstruktur des DBA-Objektes mit dem die SQL-Kommandos gegen die
Datenbank
*
ausgeführt werden.
*
en:
*
Structure of the DBA object used to perform SQL-commands against the
database. */
private
JSBS_Parameter_DBA
structJSBS_Parameter_DBA
=
new
JSBS_Parameter_DBA();
/*
* --------------------
*
de:
* CONSTRUCTOR
* der verwendet wird wenn eine
bestehende (und geöffnete!) Verbindung zur Datenbank
*
(Connection) als Parameter übergeben wird.
*
en:
* CONSTRUCTOR
* when an existing (and
open!) Connection to the database-system is passed. */
public
JSBS_FramePosition_BOS(JSBS_MinimalParameters
parmMinParm,
Connection
parmDBCon) {/*
*
de: Aufrufen der Methode, die das Kopieren der Parameter ausführt.
*
en: Call the method written to do the copying of the parameters.
*/ constructionWithDBConnection(parmMinParm,
parmDBCon);
/*
*
de: Setzen des Merkers dass das Objekt
nicht
von einem BOC oder EJB konstruiert wurde.
* en: Set the flag
signalling that the object was not constructed by a BOC or EJB.
*/
bolObjectConstructedByBOC_or_EJB
= false;
}/*
* --------------------
*
de:
* CONSTRUCTOR
* der verwendet wird wenn eine
bestehende (und geöffnete!) Verbindung zur Datenbank
*
(Connection) als Parameter übergeben wird und
* die Werte
der Variablen aus dem übergebenen Business Object übernommen werden
müssen.
* en:
* CONSTRUCTOR
* when
an existing (and open!) Connection to the database-system is passed
and
* the values of the variables have to be taken from a
Business Object passed as parameter. */
public
JSBS_FramePosition_BOS(JSBS_MinimalParameters
parmMinParm,
Connection
parmDBCon,
JSBS_FramePosition_BO
parmJSBS_FramePosition_BO) {/*
*
de: Aufrufen der Methode, die das Kopieren der Parameter ausführt.
*
en: Call the method written to do the copying of the parameters.
*/
constructionWithDBConnection(parmMinParm,
parmDBCon);/*
*
de: Setzen des Merkers dass das Objekt nicht
von einem BOC oder EJB konstruiert wurde.
* en: Set the flag
signalling that the object was not constructed by a BOC or EJB.
*/
bolObjectConstructedByBOC_or_EJB
=
false
;
/*
de:
*
Methode (in der generellen Klasse dieses Business Objects [geerbte
Superklasse]) aufrufen
*
die die Werte des als Parameter übergebenen BO auf die Variablen
dieses BO kopiert.
*
en:
*
Call the method (in the General Class [superclass]) for this Business
Object to
* copy the values from the BO passed as
parameter to the variables of this Business Object.
*/ copyFromJSBS_FramePosition_BO(parmJSBS_FramePosition_BO);
}/*
* --------------------
*
de:
* CONSTRUCTOR
* der verwendet wird wenn eine
bestehende (und geöffnete!) Verbindung zur Datenbank
*
(Connection) als Parameter übergeben wird.
* In den
Parametern wird auch übergeben, ob das Objekt dieser Klasse durch
ein BOC oder EJB
* konstruiert wird.
*
en:
* CONSTRUCTOR
* when an existing (and
open!) Connection to the database-system is passed.
* There
is a parameter signalling that this object is constructed by a BOC or
EJB. */
public
JSBS_FramePosition_BOS(JSBS_MinimalParameters
parmMinParm,
Connection
parmDBCon,
boolean
parmObjectConstructedByBOC_or_EJB) {
/*
*
de: Aufrufen der Methode, die das Kopieren der Parameter ausführt.
*
en: Call the method written to do the copying of the parameters.
*/ constructionWithDBConnection(parmMinParm,
parmDBCon);
/*
*
de: Übernehmen des Werts des Parameters in den Merker.
*
en: Transfer the value from the parameter into the flag.
*/
bolObjectConstructedByBOC_or_EJB
=
parmObjectConstructedByBOC_or_EJB;
}/*
* --------------------
*
de:
* CONSTRUCTOR
* der verwendet wird wenn eine
bestehende (und geöffnete!) Verbindung zur Datenbank
*
(Connection) als Parameter übergeben wird und
* die Werte
der Variablen aus dem übergebenen Business Object übernommen werden
müssen.
* In den Parametern wird auch übergeben, ob das
Objekt dieser Klasse durch ein BOC oder EJB
* konstruiert
wird.
* en:
* CONSTRUCTOR
* when an
existing (and open!) Connection to the database-system is passed
and
* the values of the variables have to be taken from a
Business Object passed as parameter.
* There is a parameter
signalling that this object is constructed by a BOC or EJB.
*/
public
JSBS_FramePosition_BOS(JSBS_MinimalParameters
parmMinParm,
Connection
parmDBCon,
JSBS_FramePosition_BO
parmJSBS_FramePosition_BO,
boolean
parmObjectConstructedByBOC_or_EJB) {
/*
*
de: Aufrufen der Methode, die das Kopieren der Parameter ausführt.
*
en: Call the method written to do the copying of the parameters.
*/
constructionWithDBConnection(parmMinParm,
parmDBCon);/*
*
de: Übernehmen des Werts des Parameters in den Merker.
*
en: Transfer the value from the parameter into the flag.
*/
bolObjectConstructedByBOC_or_EJB
= parmObjectConstructedByBOC_or_EJB;
/*
de:
*
Methode (in der generellen Klasse dieses Business Objects [geerbte
Superklasse]) aufrufen
*
die die Werte des als Parameter übergebenen BO auf die Variablen
dieses BO kopiert.
*
en:
*
Call the method (in the General Class [superclass]) for this Business
Objject to
* copy the values from the BO passed as
parameter to the variables of this Business Objject.
*/ copyFromJSBS_FramePosition_BO(parmJSBS_FramePosition_BO);
}/*
* --------------------
*
de:
*
METHODE zum Kopieren der Werte, die in den Parametern der
'Constructors'
*
übergeben wurden in die Variablen dieses Objekts.
*
en:
* METHOD to copy the values that were passed in the
parameters of the 'constructors'
*
into the variables of this Object. */
private
void
constructionWithDBConnection(
JSBS_MinimalParameters
parmMinParm,
Connection
parmDBConnection) {
structJSBS_MinimalParameters
=
new
JSBS_MinimalParameters(parmMinParm);
structDBCon
= parmDBConnection;
}/*
* --------------------
* de: *
METHODE um die Änderungen, die mit dieser Datenbank-Verbindung
gemacht wurden,
*
als 'gültig' zu markieren (commit).
*
Das 'commit' wird nur ausgeführt, wenn das Objekt durch ein BOC oder
EJB konstruiert
* wurde; d.h. der entsprechende
Parameter im 'Constructor' übergeben wurde. *
Diese Regel ist eine Konvention damit auch innerhalb eines
BOS-Objekts wieder
*
BOS-Objekte konstruiert werden können. In diesen Objekten wird aber
kein 'commit' oder
*
'rollback' ausgeführt.
*
en:
*
METHOD to 'commit' the changes made with this database-connection.
* The commit is only done if the object was
constructed by a BOC or EJB;
* i.e. the adjacent
parameter was passed in the 'constructor'.
* This rule
is a convention that allows to 'construct' BOS objects within
* BOS-objects. Within these BOS-objects a'commit' or
'rollback' is not executed. */
private
void
commitDBConnection(
boolean
parmReadOnly) {
/*
* de:
* Wenn
dieses BOS-Objekt nicht in einem BOC oder EJB konstruiert wurde, dann
wird diese
* Methode hier beendet.
* en:
* If
this BOS-object has not been constructed in a BOC or EJB, this method
will end here. */
if
(!
bolObjectConstructedByBOC_or_EJB
)
return
;
/*
* de:
* 'Commit'
nur ausführen wenn die DB-Verbindung nicht als 'autocommit' geöffnet
wurde.
* Ein Beenden der Methode bei 'autocommit'
verbessert die Performanz.
* en:
* Perform
the 'commit' only if the DB-connection was not opened as
'autocommit'
* Ending the method when 'autocommit' was
chosen enhances the performance. */
if
(!
parmReadOnly) {
/*
* de:
* 'Commit'
innerhalb einer try/catch-Logik ausführen damit ein eventueller
Fehler beim
* 'commit' abgefangen werden kann.
* en:
* Run the 'commit' within the try/catch-logic to be
able to handle a potential error. */
try
{
structDBCon
.commit();}
catch
(SQLException
SQLExc) {
/*
* de:
* Fehler
im Datenbank-System während des 'commit';
* Fehler an
die aufrufende Methode zurück liefern.
* en:
* Error
of the database-system during 'commit'; report the error to the
calling method. */
StatusCode
=
CONST_DB_SYSTEM_ERROR
;
StatusMsg
= SQLExc.getMessage();
/*
* de: Um
auf der sicheren Seite zu sein zusätzlich ein 'rollback'
ausführen.
* en: To be on the save side: perform a
'rollback'.
*/
rollbackDBConnection(parmReadOnly); }
}
}/*
* --------------------
* de: *
METHODE um die Änderungen, die mit dieser Datenbank-Verbindung
gemacht wurden,
*
'rückgängig' zu machen (rollback); d.h. die Änderungen werden
nicht gültig.
*
Das 'rollback' wird nur ausgeführt, wenn das Objekt durch ein BOC
oder EJB konstruiert
* wurde; d.h. der entsprechende
Parameter im 'Constructor' übergeben wurde. *
Diese Regel ist eine Konvention damit auch innerhalb eines
BOS-Objekts wieder
*
BOS-Objekte konstruiert werden können. In diesen Objekten wird aber
kein 'commit' oder
*
'rollback' ausgeführt.
*
en:
*
METHOD to 'rollback' the changes made with this database-connection.
* The rollback is only done if the object was
constructed by a BOC or EJB;
* i.e. the adjacent
parameter was passed in the 'constructor'.
* This rule
is a convention that allows to 'construct' BOS objects within
* BOS-objects. Within these BOS-objects a'commit' or
'rollback' is not executed. */
private
void
rollbackDBConnection(
boolean
parmReadOnly) {
/*
* de:
* Wenn
dieses BOS-Objekt nicht in einem BOC oder EJB konstruiert wurde, dann
wird diese
* Methode hier beendet.
* en:
* If
this BOS-object has not been constructed in a BOC or EJB, this method
will end here. */
if
(!
bolObjectConstructedByBOC_or_EJB
)
return
;
/*
* de:
* 'Rollback'
nur ausführen wenn die DB-Verbindung nicht als 'autocommit' geöffnet
wurde.
* Ein Beenden der Methode bei 'autocommit'
verbessert die Performanz.
* en:
* Perform
the 'rollback' only if the DB-connection was not opened as
'autocommit'
* Ending the method when 'autocommit' was
chosen enhances the performance. */
if
(!
parmReadOnly) {
/*
* de:
* 'Commit'
innerhalb einer try/catch-Logik ausführen damit ein eventueller
Fehler beim
* 'commit' abgefangen werden kann.
* en:
* Run the 'commit' within the try/catch-logic to be
able to handle a potential error. */
try
{
structDBCon
.commit();}
catch
(SQLException
SQLExc) {
/*
* de:
* Fehler
im Datenbank-System während des 'commit';
* Fehler an
die aufrufende Methode zurück liefern.
* en:
* Error
of the database-system during 'commit'; report the error to the
calling method. */
StatusCode
=
CONST_DB_SYSTEM_ERROR
;
StatusMsg
= SQLExc.getMessage();
/*
* de:
Um auf der sicheren Seite zu sein zusätzlich ein 'rollback'
ausführen.
* en: To be on the save side: perform a
'rollback'.
*/
rollbackDBConnection(parmReadOnly);
}
}
}/*
* --------------------
* de:
* METHODE
zum Übertragen der Variablen-weWerte dieses Business Object auf
die
* Variablen des Data-Base-Acces (DBA) Objekts das
diesem Business Objekt zugeordnet ist.
* en:
* METHOD
to transfer the values of the variables from this Business Object
* to the attributes of the Data-Base-Access (DBA)
Object that is assigned
* to this Business
Object. */
private
void
setDBAAttributes(JSBS_Parameter_DBA
parmJSBS_Parameter_DBA) {
/*
* de:
* Methode
der Superklasse (JSBS_BO) aufrufen um die Werte der Allgemeinen
Attribute
* (Common Attributes) zu übertragen.
* en:
* Call the method of the
superclass (JSBS_BO) to transfer the values of the
* Common
Attributes.
*/
setCommonDBAAttributes(parmJSBS_Parameter_DBA);
/*
* de:
Übertragen der geschäfts-spezifischen Attribute dieses Business
Object.
* en: Transfer the business specific attributes
of this Business Object.
*/ parmJSBS_Parameter_DBA.
ParameterName
=
this
.
CONST_PARAMETER_NAME
;
parmJSBS_Parameter_DBA.Value01
=
this
.
FrameClassName
;
parmJSBS_Parameter_DBA.Value02
=
this
.
UserID
;
parmJSBS_Parameter_DBA.Value06
=
packFrameProperties(this
.
PosX
,
this
.
PosY
,
this
.
FrameWidth
,
this
.
FrameHeight
);
parmJSBS_Parameter_DBA.Value07
=
JSBS_Formatter.packStringArray(
this
.
ColumnWidthArray01
);
parmJSBS_Parameter_DBA.Value08
=
JSBS_Formatter.packStringArray(
this
.
ColumnWidthArray02
);
parmJSBS_Parameter_DBA.Value09
=
JSBS_Formatter.packStringArray(
this
.
ColumnWidthArray03
);
parmJSBS_Parameter_DBA.Value10
=
JSBS_Formatter.packStringArray(
this
.
ColumnWidthArray04
);
parmJSBS_Parameter_DBA.Value11
=
JSBS_Formatter.packStringArray(
this
.
ColumnWidthArray05
);
parmJSBS_Parameter_DBA.Value12
=
JSBS_Formatter.packStringArray(
this
.
ColumnWidthArray06
);
parmJSBS_Parameter_DBA.Value13
=
JSBS_Formatter.packStringArray(
this
.
ColumnWidthArray07
);
parmJSBS_Parameter_DBA.Value14
=
JSBS_Formatter.packStringArray(
this
.
ColumnWidthArray08
);
parmJSBS_Parameter_DBA.Value15
=
JSBS_Formatter.packStringArray(
this
.
ColumnWidthArray09
);
parmJSBS_Parameter_DBA.Value16
=
JSBS_Formatter.packStringArray(
this
.
ColumnWidthArray10
);
}/*
* --------------------
* de:
* METHODE
zum Speichern der Werte in den Variablen dieses Business Object in
der/den
* Datenbank-Tabelle/n; oder technisch
ausgedrückt: Werte 'persistent' machen.
* Innerhalb
der Methode wird entschieden
* ob dieses Objekt neu
ist und ein INSERT der Daten in die DB-Tabelle notwendig ist oder
* ob die geschäfts-spezifischen Werte geändert
wurden und ein UPDATE erforderlich ist.
* en:
* METHOD
to store the values of the variables from this Business Object
* into the database-table(s); or in a technical term:
make the data persistent.
* Within the method is
decided
* if this object is new and an INSERT into the
db-table is requiered or
* the business-values object
were changed and an UPDATE has to be done. */
public
void
store()
{
/*
* de:
* Festlegen, dass 'Update' Operationen auf die
Datenbank ausgeführt werden;
* 'autocommit' nicht
setzen.
* en:
* Define that there are
'Update' operations to the database: do not set 'autocommit'.
*/
boolean
bol_autocommit
=
false
;
/*
* de:
Status-Variablen auf 'OK' setzen.
* en: Set the
Status-variables to a state of 'OK'. */
this
.
StatusCode
=
CONST_OK
;
this
.
StatusMsg
=
""
;
/*
* de:
Entscheiden ob das Business Object neu erstellt (ObjectID ist 0) oder
verändert wurde.
* en: Decide if the Business Object
is newly created (ObjectID is 0) or updated. */
if
(
ObjectID
== 0) {
/*
* de:
* Speichern
eines neuen Objekts angefordert; prüfen, dass ein Datensatz mit
dem
* gleichen Anwender-bekannten-Schlüssel noch nicht
existiert für das aktuelle Datum.
* en:
* Storing
of a new object requested; check that a dataset with the same
User-Known-Key
* does not already exist for the actual
date. */
boolean
locboolDataSetExists
=
structJSBS_Parameter_DBA
.selectByUserKnownKey(
structDBCon
,
structJSBS_MinimalParameters
,
this
.
CONST_PARAMETER_NAME
,
this
.
FrameClassName
,
this
.
UserID
);
if
(locboolDataSetExists)
{
/*
* de:
Datensatz mit dem bekannten Schlüssel existiert bereits; 'Fehler'
melden.
* en: Data-Set with the known key already
exists; report 'error'. */
StatusCode
=
CONST_DUPLICATE_KEY
;
StatusMsg
=
""
;
rollbackDBConnection(bol_autocommit);
return
;
}
else
{
/*
* de:
Prüfen ob ein Datenbankfehler aufgetreten ist.
* en:
Check if a database-error occured. */
if
(structJSBS_Parameter_DBA.
ErrorMsg
.length()
> 0) {
/*
* de:
Datenbankfehler aufgetreten; diese Methode nicht fortsetzen.
* en:
Database-Error happened; do not go on with this method.
*/
StatusCode
=
CONST_DB_SYSTEM_ERROR
;
StatusMsg
=
structJSBS_Parameter_DBA.ErrorMsg
;
rollbackDBConnection(bol_autocommit);
return
;
}
}/*
* de:
* Datensatz
mit dem Anwender-bekannten-Schlüssel existiert noch nicht; mit
INSERT fortsetzen.
* Der übergebene Parameter
signalisiert, dass dieses der erste Datensatz mit
dem
* Anwender-bekannten-Schlüssel
ist.
* en:
* Data-Set with the
User-Known-Key does not already exist; go ahead with INSERT.
* The
passed parameter signals that this is the first Data-Set with the
User-Known-Key. */ internalInsert(
true
);
/*
* de:
Prüfen ob das INSERT fehlerfrei war; sonst Fehlerbehandlung
beginnen.
* en: Verify if the INSERT was ok; otherwise
start error-handling. */
if
(
StatusCode
!=
CONST_OK
)
{
rollbackDBConnection(bol_autocommit);
return
;
}
}
else
{
/*
* de:
* Ändern eines bestehenden Datensatzes.
* Im
Unterschied zu einer Standard-Implementierung einer BOS-Klasse,
zeichnet dieses BOS
* die durchgeführten Änderungen
nicht auf. Eine Änderungs-Historie für die Größe und Position
* eines Frames (Fensters) ist sinnlos und kostet nur
Speicherplatz.
* en:
* Update of an
existing dataset.
* Different to a standard-implementation
of a BOS-class, this BOS does not record a history of changes.
*
A history of changes in the Frame-Positon and -Size is meaningless
and just costs storage-space. */
/*
* de: Einen UPDATE
für dieses BOS ausführen.
* en: Do an UPDATE for
this BOS. */ internalUpdate();
/*
* de:
Prüfen ob die Datenbank-Operation fehlerfrei war; wenn nicht ein
'rollback' ausführen.
* en: Verify if the
database-operation was error-free; if not do a rollback.
*/
if
(
StatusCode
!=
CONST_OK
)
{
/*
* de:
Ändern des bestehenden Datensatzes ergaben Fehler; an die aufrufende
Methode melden.
* en: Updating existing record failed;
report it to the calling method. */
StatusMsg
=
"Unexpected
Error during update of existing record: "
+
StatusMsg
;
/*
* de: Ein 'rollback' ausführen und dann die Methode
beenden.
* en: Do a rollback and then end the method.
*/ rollbackDBConnection(bol_autocommit);
return
;
}/*
* de:
Alle Datenbank-Operation waren bis jetzt fehlerfrei; Änderungen
bestätigen ('commit').
* en: All database-operations
were error-free till now; commit the changes.
*/ commitDBConnection(bol_autocommit);
}
}/*
* --------------------
* de:
* METHODE
(nur zur Verwendung innerhalb dieser Klasse) um die
CommonAttributes
* (allgemeine Attribute) aufzubereiten
und dann das DBA-Objekt, das die Daten
* in die
Datenbank einträgt, aufzurufen.
* Der übergebene
Parameter signalisiert, ob dieser der erste Datensatz
eines
* Business Objects ist. In diesem Fall werden
ObjectID, CreatedAt und CreatedBy
* mit Werten
gefüllt.
* en:
* METHOD (just for usage
within this class) to prepare the CommonAttributes and
* then
call the DBA object to insert the data into the database.
* The
passed parameter signals if this is the first dataset of a Business
Object.
* In that case, the ObjectID, CreatedAt and
CreatedBy attributes are filled. */
private
void
internalInsert(
boolean
parmFirstInsert) {
/*
* de:
Attribute, die die zeitliche Gültigkeit des BO festlegen, mit Werten
füllen.
* en: Set the attributes defining the
time-validity of the BO. */
ValidFrom
= JSBS_BO_Services.getNewValidFrom(
structJSBS_MinimalParameters
);
ValidTill
= JSBS_BO_Services.getGoodTillCancelled_SQLDate();
/*
* de:
* Anwender, der die Änderung ausgeführt hat und die
Systemzeit der Änderung festlegen.
* en:
* Set
the user who made the change and the system-time when the change was
made. */
ChangedBy
=
structJSBS_MinimalParameters
.
strUserName
;
ChangedAt
=
new
Timestamp(
new
Date().getTime());
/*
* de:
* Ein
Surrogat (interner Schlüssel) für den Datensatz ermitteln und
prüfen,
* ob dieses Surrogat nicht bereits ein
Primärschlüssel in der Datenbank-Tabelle ist.
* Wenn
der Datensatz der erste für ein BO ist, ist das Surrogat auch der
ObjectID des BO.
* en:
* Get a surrogate
for the DataSetID (which is the ObjectID too
* if it
is the first dataset for a BO) and check if the generated surrogate
is already
* a primary key in the database-table.
*/
int
intTrialCounter
= 9;
do
{
/*
* de:
Methode, die ein surrogat innerhalb eines großen Wertebereichs
erzeugt, aufrufen.
* en: Call the method that generates
a surrogate with a widespread range. */
DataSetID
=
JSBS_BO_Services.generateSurrogate();
/*
* de:
* Datenbankzugriff ausführen um zu prüfen, ob das
gerade generierte Surrogat bereits
* verwendet
wird.
* en:
* Make a database-access to
check if the just generated surrogate is already used.
*/
boolean
locbolDataSetExists
=
structJSBS_Parameter_DBA
.selectByDataSetID(
structDBCon
,
this
.
DataSetID
);
if
(locbolDataSetExists)
{
/*
* de:
Seltener Fall, dass das generierte Surrogat bereits verwendet wird;
nochmals versuchen.
* en: Rare case that the generated
surrogate is already a key; try again.
*/ intTrialCounter--;
continue
;
}
else
{
/*
* de:
Prüfen ob bei der Datenbank-Operation ein Fehler aufgetreten
ist.
* en: Check if there was an error at the database
operation. */
if
(
structJSBS_Parameter_DBA
.
ErrorMsg
.length()
> 0) {
/*
* de:
Das DBA-Objekt meldet einen Fehler; Fehler-Meldung in dieses Objekt
übernehmen.
* en: DBA object reports an error;
transfer the Error-Message to this object. */
StatusCode
=
CONST_DB_SYSTEM_ERROR
;
StatusMsg
=
structJSBS_Parameter_DBA
.
ErrorMsg
;
return
;
}
/*
* de:
* Ein
Datensatz mit dem generierten Surrogat als Primärschlüssel
existiert noch nicht -
* Verarbeitung
fortsetzen.
* Wenn das Business Object das erste Mal in
die Datenbanktabelle aufgenommen wird:
* Werte für
ObjectID, CreatedAt und CreatedBy festlegen.
* en:
* A
dataset with the generated surrogate as primary key does not already
exist -
* continue processing.
* When
the Business Object is inserted for the first time into the
database-table:
* set the values for ObjectID,
CreatedAt and CreatedBy. */
if
(parmFirstInsert)
{
ObjectID
=
DataSetID
;
CreatedAt
=
ChangedAt
;
CreatedBy
=
ChangedBy
;
}/*
* de:
Übertragen der Werte dieses Business Objects in das
DBA-Objekt.
* en: Transfer the values of this Business
Object to the DBA object.
*/ setDBAAttributes(
structJSBS_Parameter_DBA
);
/*
* de:
* Methode des DBA Objekts aufrufen und das INSERT in
die Datenbank auf niederer
* Ebene ausführen.
* en:
* Call the method of the DBA object to do the database
INSERT on the low level.
*/
structJSBS_Parameter_DBA
.insert(
structDBCon
);
/*
* de:
Prüfen ob das INSERT in die Datenbank fehlerfrei war.
* en:
Check if the database INSERT was error-free. */
if
(
structJSBS_Parameter_DBA
.
ErrorMsg
.length()
> 0) {
/*
* de:
Fehlermeldung ist nicht leer, Fehler auf dieses Objekt
übertragen.
* en: Error-Message is not empty; transfer
the error to this object. */
StatusCode
=
CONST_DB_SYSTEM_ERROR
;
StatusMsg
=
structJSBS_Parameter_DBA
.
ErrorMsg
;
return
;
}
else
{
/*
* de:
Fehlermeldung ist leer; d.h. kein Fehler wurde vom DBA zurück
gemeldet.
* en: Error-Message is empty; i.e. no error
is reported by the DBA. */
return
;
}
}
}
while
(intTrialCounter
> 0);
/*
* de:
* Alle
der 9 generierten Surrogate sind bereits Primärschlüssel in der
Tabelle;
* Datenbank scheinbar voll; Fehler
melden.
* en:
* All of the 9 generated
surrogates were already primary key in the table;
* database
obviously full; report error. */
StatusCode
=
CONST_DB_UNKNOWN_ERROR
;
StatusMsg
=
"No
surrogate found after 9 trials; database-table obviously
full."
;
}/*
* --------------------
* de:
* METHODE
(nur zur Verwendung innerhalb dieser Klasse) um das DBA
Objekt
* aufzurufen, den bestehenden Datensatz mit den
Werten aus diesem
* Business Object zu füllen und die
geänderten Werte auf die Datenbank-Tabelle
* zu
schreiben.
* en:
* METHOD (just for usage
within this class) to call the DBA object to
* update
the existing dataset with the values of this Business Object.
*/
private
void
internalUpdate()
{
/*
* de:
Werte dieses Business Objects auf das DBA Objekt übertragen.
* en:
Transfer the values of this Business Object to the DBA object.
*/ setDBAAttributes(
structJSBS_Parameter_DBA
);
/*
* de:
* Aufrufen
der Methode des DBA-Objekts und den UPDATE auf der Datenbank
* auf
niederer Ebene ausführen.
* en:
* Call
the method of the DBA object to do the database UPDATE on the low
level.
*/
structJSBS_Parameter_DBA
.update(
structDBCon
);
/*
* de:
Prüfen ob der UPDATE auf der Datenbank fehlerfrei war.
* en:
Check if the database UPDATE was error-free. */
if
(
structJSBS_Parameter_DBA
.
ErrorMsg
.length()
> 0) {
/*
* de:
Fehlermeldung des DBA ist nicht leer; Fehler auf dieses Objekt
übertragen.
* en: Error-Message of the DBA is not
empty; transfer the error to this object. */
StatusCode
=
CONST_DB_SYSTEM_ERROR
;
StatusMsg
=
structJSBS_Parameter_DBA
.
ErrorMsg
;
return
;
}
}/*
* --------------------
* de:
* METHODE
zum Selektieren eines Datensatzes mit dem Primärschlüssel
(DataSetID).
* Mit dem Primärschlüssel der Tabelle
kann nur ein Datensatz gefunden werden.
* en:
* METHOD
to get the dataset identified by the primary key (DataSetID).
* With
the primary key of the table, only one dataset can be found.
*/
public
void
selectByDataSetID(
double
parmDataSetID)
{
/*
* de:
* Festlegen,
dass nur 'Read' Operation auf die Datenbank ausgeführt
werden;
* 'autocommit' setzen.
* en:
* Define
that there are only 'Read' operations to the database; set
'autocommit'. */
boolean
bol_autocommit
=
true
;
/*
* de:
Status-Variablen auf 'OK' setzen.
* en: Reset the
Status-variables to a state of OK. */
this
.
StatusCode
=
CONST_OK
;
this
.
StatusMsg
=
""
;
/*
* de:
Datenbank-Operation ausführen.
* en: Perform the
database-operation. */
if
(
structJSBS_Parameter_DBA
.selectByDataSetID(
structDBCon
,
parmDataSetID)) {
/*
* de:
Angeforderter Datensatz vorhanden; Werte vom DBA auf dieses BO
übertragen.
* en: Requested dataset exists; transfer
the value from the DBA object to this BO.
*/ getDBAAttributes(
structJSBS_Parameter_DBA
);
/*
* de:
* Methode,
die entscheidet ob ein 'Commit' auszuführen ist und es wenn
notwendig
* ausführt, aufrufen und Methode
beenden.
* en:
* Call the method deciding
if a 'commit' is needed, and performing it,
* and end
the method.
*/ commitDBConnection(bol_autocommit);
return
;
}
else
{
/*
* de:
* Prüfen
ob die Operation fehlerfrei war und kein Datensatz gefunden
wurde
* oder ein Fehler aufgetreten
ist.
* en:
* Verify if the operation was
error-free and no dataset was found
* or an error
occured. */
if
(structJSBS_Parameter_DBA.
ErrorMsg
.length()
<= 0) {
/*
* de:
* Fehlermeldung
ist leer; das bedeutet, dass mit den Suchkriterien kein
* Datensatz
gefunden wurde.
* en:
* Error-Message is
empty; means that no dataset was found with the search criteria.
*/
StatusCode
=
CONST_NOT_FOUND
;
StatusMsg
=
""
;
/*
* de:
* Methode,
die entscheidet ob ein 'Rollback' auszuführen ist und es wenn
notwendig
* ausführt, aufrufen und Methode
beenden.
* en:
* Call the method deciding
if a 'rollback' is needed, and performing it,
* and
end the method.
*/ rollbackDBConnection(bol_autocommit);
return
;
}
else
{
/*
* de:
Fehlermeldung ist nicht leer; Fehlermeldung auf dieses BO
übertragen.
* en: Error-Message is not empty; transfer
the error-message to this BO. */
StatusCode
=
CONST_DB_SYSTEM_ERROR
;
StatusMsg
= structJSBS_Parameter_DBA.
ErrorMsg
;
/*
* de:
* Methode,
die entscheidet ob ein 'Rollback' auszuführen ist und es wenn
notwendig
* ausführt, aufrufen und Methode
beenden.
* en:
* Call the method deciding
if a 'rollback' is needed, and performing it,
* and
end the method.
*/ rollbackDBConnection(bol_autocommit);
return
;
}
}
}
/*
* --------------------
*
de:
* METHODE zum Selektieren des Datensatzes der durch den
Anwender-bekannten Schlüssel
* (FrameClass-Name / User-ID)
festgelegt ist.
* Per Definition kann zu einem Zeitpunkt nur
ein gültiger Datensatz gefunden werden.
* en: * METHOD
to select the dataset identified by the User-Known-Key
* (FrameClass-Name / User-ID).
* As
there is only one valid dataset for the given date only one dataset
can be found. */
public
void
selectByUserKnownKey(String
parmFrameClassName, String parmUserID) {
/*
de:
* Per Definition gibt es in dieser Methode nur
'Lese'-Operation auf die Datenbank;
* aus Gründen der
Performanz wird deswegen 'autocommit' eingeschalten.
* en:
* Define that there are only 'Read' operations to the
database; set 'autocommit' to gain
* performance of the
database-system. */
boolean
bol_autocommit
=
true
;
/*
de: Status-Variable auf 'OK' setzen.
* en: Set the
Status-variables to a state of OK. */
this
.
StatusCode
=
CONST_OK
;
this
.
StatusMsg
=
""
;
/*
de: Datenbank-Operation ausführen.
* en: Perform the
database-operation. */
if
(
structJSBS_Parameter_DBA
.selectByUserKnownKey(
structDBCon
,
structJSBS_MinimalParameters
,
CONST_PARAMETER_NAME
,
parmFrameClassName,
parmUserID)) {/*
de: Gesuchter Datensatz existiert; übertragen der Werte vom DBA in
dieses BO.
* en: Requested dataset exists; transfer the
values from the DBA object to this BO.
*/ getDBAAttributes(
structJSBS_Parameter_DBA
);
/*
de:
* Commit ausführen (notwendig für einige
Datenbank-Systeme obwohl es keine Änderungen
* zu
bestätigen gibt weil die Verbindung mit 'readonly' eröffnet
wurde).
* en:
* Commit (necessary for some
DB-Systems although there is no commit as the Connection was
*
opened 'ReadOnly').
*/ commitDBConnection(bol_autocommit);
return
;
}
else
{
/*
de:
* Prüfen ob die Operation fehlerfrei war und nur der
gesuchte Datensatz nicht gefunden wurde
* oder ob ein Fehler
aufgetreten ist.
* en:
* Verify if the operation
was error-free and the searched dataset was not found
* or
an error occured. */
if
(
structJSBS_Parameter_DBA
.
ErrorMsg
.length()
<= 0) {
/*
de: Fehler-Nachricht ist 'leer'; bedeutet dass der gesuchte Datensatz
nicht gefunden wurde.
* en: Error-Message is empty; means
that no dataset was found with the search criteria.
*/
StatusCode
=
CONST_NOT_FOUND
;
StatusMsg
=
""
;
/* de:
*
Rollback ausführen (notwendig für einige Datenbank-Systeme obwohl
es keine Änderungen
* zu bestätigen gibt weil die
Verbindung mit 'readonly' eröffnet wurde).
* en:
*
Rollback (necessary for some DB-Systems although there is no commit
as the Connection was
* opened 'ReadOnly').
*/ rollbackDBConnection(bol_autocommit);
return
;
}
else
{
/*
de: Error-Message ist nicht leer; übertragen der Fehler-Meldung auf
dieses BO.
* en: Error-Message is not empty; transfer the
error-message to this BO. */
StatusCode
=
CONST_DB_SYSTEM_ERROR
;
StatusMsg
=
structJSBS_Parameter_DBA
.
ErrorMsg
;
/* de:
*
Rollback ausführen (notwendig für einige Datenbank-Systeme obwohl
es keine Änderungen
* zu bestätigen gibt weil die
Verbindung mit 'readonly' eröffnet wurde).
* en:
*
Rollback (necessary for some DB-Systems although there is no commit
as the Connection was
* opened 'ReadOnly').
*/ rollbackDBConnection(bol_autocommit);
return
;
}
}
}/*
* --------------------
*
de:
* METHODE zum Übertragen der Attributs-Werte des
Data-Base-Access (DBA) Objekts
* das diesem Business-Object
thematisch am nächsten ist auf die Variablen dieses BO.
*
en: * METHOD
to transfer the attribute-values from the Data-Base-Access (DBA)
Object
* that is closest to this Business Object to the
variables of this BO. */
public
void
getDBAAttributes(JSBS_Parameter_DBA
parmJSBS_Parameter_DBA) {
/*
*
de:
* Methode der geerbten Superklasse (JSBS_BO) aufrufen um
die Werte der
* Allgemeinen Attribute (Common Attributes) zu
übertragen.
* en:
* Call the method of the
inherited superclass (JSBS_BO) to transfer the values of the
* Common Attributes.
*/
getCommonDBAAttributes(parmJSBS_Parameter_DBA);
/*
*
de: Geschäftsbezogene Werte dieses Business Object übertragen.
*
en: Transfer the business specific values of this Business Object.
*/
this
.
FrameClassName
=
parmJSBS_Parameter_DBA.
Value01
;
this
.
UserID
=
parmJSBS_Parameter_DBA.
Value02
;
this
.
PosX
=
unpackFrameProperties_PosX(parmJSBS_Parameter_DBA.
Value06
);
this
.
PosY
=
unpackFrameProperties_PosY(parmJSBS_Parameter_DBA.
Value06
);
this
.
FrameWidth
=
unpackFrameProperties_FrameWidth(parmJSBS_Parameter_DBA.
Value06
);
this
.
FrameHeight
=
unpackFrameProperties_FrameHeight(parmJSBS_Parameter_DBA.
Value06
);
this
.
ColumnWidthArray01
=
JSBS_Formatter.unpackStringArray(parmJSBS_Parameter_DBA.
Value07
);
this
.
ColumnWidthArray02
=
JSBS_Formatter.unpackStringArray(parmJSBS_Parameter_DBA.
Value08
);
this
.
ColumnWidthArray03
=
JSBS_Formatter.unpackStringArray(parmJSBS_Parameter_DBA.
Value09
);
this
.
ColumnWidthArray04
=
JSBS_Formatter.unpackStringArray(parmJSBS_Parameter_DBA.
Value10
);
this
.
ColumnWidthArray05
=
JSBS_Formatter.unpackStringArray(parmJSBS_Parameter_DBA.
Value11
);
this
.
ColumnWidthArray06
=
JSBS_Formatter.unpackStringArray(parmJSBS_Parameter_DBA.
Value12
);
this
.
ColumnWidthArray07
=
JSBS_Formatter.unpackStringArray(parmJSBS_Parameter_DBA.
Value13
);
this
.
ColumnWidthArray08
=
JSBS_Formatter.unpackStringArray(parmJSBS_Parameter_DBA.
Value14
);
this
.
ColumnWidthArray09
=
JSBS_Formatter.unpackStringArray(parmJSBS_Parameter_DBA.
Value15
);
this
.
ColumnWidthArray10
=
JSBS_Formatter.unpackStringArray(parmJSBS_Parameter_DBA.
Value16
);
}/*
* --------------------
*
de:
* METHODE zum 'packen' der Attribute die Grösse und
Position des JFrame festlegen in
* eine Zeichenkette die in
einem Attribut des 'Parameter' DBA gespeichert werden kann.
*
en: * METHOD
to pack the attributes defining size and position of the JFrame into
a string
* that can be stored within
one
attribute of the 'Parameter' DBA. */
protected
String
packFrameProperties(
int
parmPosX,
int
parmPosY,
int
parmFrameWidth,
int
parmFrameHeight)
{
/*
Zeichenkette für den Rückgabe-Wert ('gepackte' Werte).
*
String for the return-value (packed values). */
String
strReturnValue;
/*
*
de:
* Umwandeln der Parameter in Zeichenketten und diese
'zusammenhängen'.
* Trennzeichen zwischen den einzelnen
Werte ist ':' (Doppelpunkt).
* en:
* Convert the
parameters to Strings and concatenate them. Delimiter is ':' (colon).
*/ strReturnValue
= JSBS_Formatter.toFormattedString(parmPosX) +
":"
;
strReturnValue +=
JSBS_Formatter.toFormattedString(parmPosY) + ":"
;
strReturnValue +=
JSBS_Formatter.toFormattedString(parmFrameWidth) + ":"
;
strReturnValue +=
JSBS_Formatter.toFormattedString(parmFrameHeight);
return
strReturnValue;
}/*
* --------------------
*
de:
* METHODE zum Extrahieren der Position X des JFrame aus
einer Zeichenkette mit
* den gepackten 'Eigenschaften' des
JFrame - die in einem Attribut der Parameter_DBA
*
gespeichert sind.
* en: * METHOD
to extract the Frame-Position X from a string that represents
the
* packed Frame-Properties that are stored within an
attribute of the Parameter_DBA. */
private
int
unpackFrameProperties_PosX(String parmFrameProperties) {
/*
de: Rückgabewert.
* en: return-value. */
int
intReturnValue;
/*
de: PosX ist der Wert vor dem ersten ':'.
* en: PosX is the
value before the first ':'. */
int
intDelimiterPosition = parmFrameProperties.indexOf(
':'
);
if
(intDelimiterPosition < 0)
return
0;
String
strReturnValue = parmFrameProperties.substring(0,
intDelimiterPosition);
/*
de: Umwandeln der Zeichenkette mit dem numerischen Wert in einen
int-Wert.
* en: Convert the String with the numeric value to
an int-value. */
try
{
intReturnValue
= (new
Integer(strReturnValue)).intValue();
}
catch
(Exception Exc) {intReturnValue = 0;};
return
intReturnValue;
}/*
* --------------------
* de:
*
METHODE zum Extrahieren der Position Y des JFrame aus einer
Zeichenkette mit
* den gepackten 'Eigenschaften' des JFrame
- die in einem Attribut der Parameter_DBA
* gespeichert
sind.
* en: * METHOD
to extract the Frame-Position Y from a string that represents
the
* packed Frame-Properties that are stored within
the Parameter_DBA. */
private
int
unpackFrameProperties_PosY(String parmFrameProperties) {
/*
de: Rückgabewert.
* en: return-value. */
int
intReturnValue;
/*
de: PosY ist der Wert zwischen dem ersten und zweiten ':'.
*
en: PosY is the value between the first and second ':'. */
int
intDelimiterPosition1 = parmFrameProperties.indexOf(
':'
);
if
(intDelimiterPosition1 < 0)
return
0;
int
intDelimiterPosition2 = parmFrameProperties.indexOf(
':'
,
intDelimiterPosition1 + 1);
if
(intDelimiterPosition2 < 0)
return
0;
String
strReturnValue =
parmFrameProperties.substring(
intDelimiterPosition1
+ 1, intDelimiterPosition2);
/*
de: Umwandeln der Zeichenkette mit dem numerischen Wert in einen
int-Wert.
* en: Convert the String with the numeric value to
an int-value. */
try
{
intReturnValue
= (new
Integer(strReturnValue)).intValue();
}
catch
(Exception Exc) {intReturnValue = 0;};
return
intReturnValue;
}/*
* --------------------
* de:
*
METHODE zum Extrahieren der Breite des JFrame aus einer Zeichenkette
mit
* den gepackten 'Eigenschaften' des JFrame - die in
einem Attribut der Parameter_DBA
* gespeichert sind.
*
en: * METHOD
to extract the Frame-Width from a string that represents
the
* packed Frame-Properties that are stored within
the Parameter_DBA. */
private
int
unpackFrameProperties_FrameWidth(String parmFrameProperties) {
/*
de: Rückgabewert.
* en: return-value. */
int
intReturnValue;
/*
de: Breite des JFrame ist der Wert zwischen dem zweiten und dritten
':'.
* en: FrameWidth is the value between the second and
third ':'. */
int
intDelimiterPosition1 = parmFrameProperties.indexOf(
':'
);
if
(intDelimiterPosition1 < 0)
return
700;
int
intDelimiterPosition2 = parmFrameProperties.indexOf(
':'
,
intDelimiterPosition1 + 1);
if
(intDelimiterPosition2 < 0)
return
700;
int
intDelimiterPosition3 = parmFrameProperties.indexOf(
':'
,
intDelimiterPosition2 + 1);
if
(intDelimiterPosition3 < 0)
return
700;
String
strReturnValue =
parmFrameProperties.substring(
intDelimiterPosition2
+ 1, intDelimiterPosition3);
/*
de: Umwandeln der Zeichenkette mit dem numerischen Wert in einen
int-Wert.
* en: Convert the String with the numeric value to
an int-value. */
try
{
intReturnValue
= (new
Integer(strReturnValue)).intValue();
}
catch
(Exception Exc) {intReturnValue = 700;};
return
intReturnValue;
}/*
* --------------------
* de:
*
METHODE zum Extrahieren der Höhe des JFrame aus einer Zeichenkette
mit
* den gepackten 'Eigenschaften' des JFrame - die in
einem Attribut der Parameter_DBA
* gespeichert sind.
*
en: * METHOD
to extract the Frame-Height from a string that represents
the
* packed Frame-Properties that are stored within
the Parameter_DBA. */
private
int
unpackFrameProperties_FrameHeight(String parmFrameProperties) {
/*
de: Rückgabewert.
* en: return-value. */
int
intReturnValue;
/*
de: Höhe des JFrame ist der Wert nach dem dritten ':'.
*
en: FrameHeight is the value after the third ':'. */
int
intDelimiterPosition1 = parmFrameProperties.indexOf(
':'
);
if
(intDelimiterPosition1 < 0)
return
500;
int
intDelimiterPosition2 = parmFrameProperties.indexOf(
':'
,
intDelimiterPosition1 + 1);
if
(intDelimiterPosition2 < 0)
return
500;
int
intDelimiterPosition3 = parmFrameProperties.indexOf(
':'
,
intDelimiterPosition2 + 1);
if
(intDelimiterPosition3 < 0)
return
500;
String
strReturnValue =
parmFrameProperties.substring(
intDelimiterPosition3
+ 1);
/*
de: Umwandeln der Zeichenkette mit dem numerischen Wert in einen
int-Wert.
* en: Convert the String with the numeric value to
an int-value. */
try
{
intReturnValue
= (new
Integer(strReturnValue)).intValue();
}
catch
(Exception Exc) {intReturnValue = 500;};
return
intReturnValue;
}}
Die Methoden dieser Klasse werden nur von Methoden innerhalb des JavaScout Basis-Systems aufgerufen und sind nicht für eine allgemeine Verwendung gedacht.
Dokument |
Inhalt |
Dieser Leitfaden
enthält die notwendigen Tätigkeiten für die Entwicklung eines
StartFrame (auch als Command-Center bekannt). |