Encapsulation d'un module en technologie Up ! Virtual Technical Machine en
module Java
Commande de compilation
upscmp Source=libf.upl AdaptateurServeurJava=Oui
javac -g -classpath
${UPS_HOME}/upsjav/uspjav/french/upsvtm.jar;${UPS_HOME}/demo/upsjav/french/libf_sj.jar libf2.java
Commande d'exécution
java -classpath
${UPS_HOME}/upsjav/upsjav/french/upsvtm.jar;${UPS_HOME}/demo/uspjav/french/libf_sj.jar;.
-Djava.library.path=${UPS_HOME}/upsvtm/bin;${UPS_HOME}/upsnet/bin;${UPS_HOME}/upscmp/bin;${UPS_HOME}/upscom/bin;${UPS_HOME}/upscrb/bin;${UPS_HOME}/upsjav/bin;${UPS_HOME}/upsjav/bin/french;${UPS_HOME}/demo/bin libf2
Remarque
Ne pas oublier de créer un entrepôt MonEntrepotdans la
configuration du noyau d'exécution. Ce programme nécessite sa définition.
Fichiers sources
Source du module
Source Module "Exemple d'emploi de l'adaptateur Java" Version
4.0.0 ModuleDynamique;
Composant Dans "c:/essais/source/libf1.upl";
Source du composant
Source Composant "Exemple d'emploi de l'adaptateur Java" Version
4.0.0 RattacherA "c:/up/exemples/libf.upl";
Enumere
/*****/
Public :
A1 Dans (ValA1, ValA2, ValA3);
Prive :
Entrepot
/*******/
Public :
Public :
/*****/
Type C1 Defaut
/************/
Public :
/******/
CA1 : Booleen;
CB1 : Nul Ou Booleen;
CC1 : Entier;
CD1 : Nul Ou Entier;
CE1 : Reel;
CF1 : Nul Ou Reel;
CG1 : Caractere;
CH1 : Nul Ou Caractere;
CA1V : Booleen Virtuel;
CB1V : Nul Ou Booleen Virtuel;
CC1V : Entier Virtuel;
CD1V : Nul Ou Entier Virtuel;
CE1V : Reel Virtuel;
CF1V : Nul Ou Reel Virtuel;
CG1V : Caractere Virtuel;
CH1V : Nul Ou Caractere Virtuel;
Prive :
/******/
CA2 : Booleen;
CB2 : Nul Ou Booleen;
CC2 : Entier;
CD2 : Nul Ou Entier;
CE2 : Reel;
CF2 : Nul Ou Reel;
CG2 : Caractere;
CH2 : Nul Ou Caractere;
Public :
/******/
Constructeur();
Procedure Ecrire1(Prm : Nul Ou Booleen);
Procedure Ecrire2(Prm : Nul Ou Entier);
Procedure Ecrire3(Prm : Nul Ou Reel);
Procedure Ecrire3(Prm : Nul Ou Caractere);
Fin Type
Type C2 Defaut
/************/
Fin Type
Variable
/******/
Public :
/******/
VA1 : Booleen;
VB1 : Nul Ou Booleen;
VC1 : Entier;
VD1 : Nul Ou Entier;
VE1 : Reel;
VF1 : Nul Ou Reel;
VG1 : Caractere;
VH1 : Nul Ou Caractere;
VA1V : Booleen Virtuel;
VB1V : Nul Ou Booleen Virtuel;
VC1V : Entier Virtuel;
VD1V : Nul Ou Entier Virtuel;
VE1V : Reel Virtuel;
VF1V : Nul Ou Reel Virtuel;
VG1V : Caractere Virtuel;
VH1V : Nul Ou Caractere Virtuel;
Prive :
/******/
VA2 : Booleen;
VB2 : Nul Ou Booleen;
VC2 : Entier;
VD2 : Nul Ou Entier;
VE2 : Reel;
VF2 : Nul Ou Reel;
VG2 : Caractere;
VH2 : Nul Ou Caractere;
Exception
/*******/
Public :
/******/
Prive :
/*****/
Public :
Procedure C1.CA1V(P : Booleen)
/**************************/
Debut
CA2=P;
Fin Procedure
Fonction C1.CA1V() Retourner Booleen
/**********************************/
Debut
Retourner CA2;
Fin Fonction
Procedure C1.CB1V(P : Nul Ou Booleen)
/*********************************/
Debut
CB2=P;
Fin Procedure
Fonction C1.CB1V() Retourner Nul Ou Booleen
/*****************************************/
Debut
Retourner CB2;
Fin Fonction
Procedure C1.CC1V(P : Entier)
/*************************/
Debut
CC2=P;
Fin Procedure
Fonction C1.CC1V() Retourner Entier
/*********************************/
Debut
Retourner CC2;
Fin Fonction
Procedure C1.CD1V(P : Nul Ou Entier)
/********************************/
Debut
CD2=P;
Fin Procedure
Fonction C1.CD1V() Retourner Nul Ou Entier
/****************************************/
Debut
Retourner CD2;
Fin Fonction
Procedure C1.CE1V(P : Reel)
/***********************/
Debut
CE2=P;
Fin Procedure
Fonction C1.CE1V() Retourner Reel
/*******************************/
Debut
Retourner CE2;
Fin Fonction
Procedure C1.CF1V(P : Nul Ou Reel)
/******************************/
Debut
CF2=P;
Fin Procedure
Fonction C1.CF1V() Retourner Nul Ou Reel
/**************************************/
Debut
Retourner CF2;
Fin Fonction
Procedure C1.CG1V(P : Caractere)
/****************************/
Debut
CG2=P;
Fin Procedure
Fonction C1.CG1V() Retourner Caractere
/************************************/
Debut
Retourner CG2;
Fin Fonction
Procedure C1.CH1V(P : Nul Ou Caractere)
/***********************************/
Debut
CH2=P;
Fin Procedure
Fonction C1.CH1V() Retourner Nul Ou Caractere
/*******************************************/
Debut
Retourner CH2;
Fin Fonction
Procedure C1.Ecrire1(Prm : Nul Ou Booleen)
/**************************************/
Debut
Ecran.Ecrire(Prm);
Fin Procedure
Procedure C1.Ecrire2(Prm : Nul Ou Entier)
/*************************************/
Debut
Ecran.Ecrire(Prm);
Fin Procedure
Procedure C1.Ecrire3(Prm : Nul Ou Reel)
/***********************************/
Debut
Ecran.Ecrire(Prm);
Fin Procedure
Procedure C1.Ecrire3(Prm : Nul Ou Caractere)
/****************************************/
Debut
Ecran.Ecrire(Prm);
Fin Procedure
Procedure VA1V(P : Booleen)
/***********************/
Debut
VA2=P;
Fin Procedure
Fonction VA1V() Retourner Booleen
/*******************************/
Debut
Retourner VA2;
Fin Fonction
Procedure VB1V(P : Nul Ou Booleen)
/******************************/
Debut
VB2=P;
Fin Procedure
Fonction VB1V() Retourner Nul Ou Booleen
/**************************************/
Debut
Retourner VB2;
Fin Fonction
Procedure VC1V(P : Entier)
/**********************/
Debut
VC2=P;
Fin Procedure
Fonction VC1V() Retourner Entier
/******************************/
Debut
Retourner VC2;
Fin Fonction
Procedure VD1V(P : Nul Ou Entier)
/*****************************/
Debut
VD2=P;
Fin Procedure
Fonction VD1V() Retourner Nul Ou Entier
/*************************************/
Debut
Retourner VD2;
Fin Fonction
Procedure VE1V(P : Reel)
/********************/
Debut
VE2=P;
Fin Procedure
Fonction VE1V() Retourner Reel
/****************************/
Debut
Retourner VE2;
Fin Fonction
Procedure VF1V(P : Nul Ou Reel)
/***************************/
Debut
VF2=P;
Fin Procedure
Fonction VF1V() Retourner Nul Ou Reel
/***********************************/
Debut
Retourner VF2;
Fin Fonction
Procedure VG1V(P : Caractere)
/*************************/
Debut
VG2=P;
Fin Procedure
Fonction VG1V() Retourner Caractere
/*********************************/
Debut
Retourner VG2;
Fin Fonction
Procedure VH1V(P : Nul Ou Caractere)
/********************************/
Debut
VH2=P;
Fin Procedure
Fonction VH1V() Retourner Nul Ou Caractere
/****************************************/
Debut
Retourner VH2;
Fin Fonction
Procedure Appel1()
/****************/
Debut
Ecran.Ecrire("Appel1();");
Fin Procedure
Procedure Appel2(Prm1 : Booleen, Prm2 : Entier, Prm3 : Reel, Prm4 :
Caractere Entree Sortie)
/**********************************************************************************/
Debut
Ecran.Ecrire("Appel2("+Caractere(Prm1)+","+Caractere(Prm2)+","+Caractere(Prm3)+","+Prm4+");");
Prm4="hello Appel2";
Fin Procedure
Fonction Appel3() Retourner Booleen
/*********************************/
Debut
Ecran.Ecrire("Appel3();");
Retourner Vrai;
Fin Fonction
Fonction Appel4(Prm1 : Booleen, Prm2 : Entier, Prm3 : Reel, Prm4 :
Caractere Entree Sortie) Retourner Booleen
/***************************************************************************************************/
Debut
Ecran.Ecrire("Appel4("+Caractere(Prm1)+","+Caractere(Prm2)+","+Caractere(Prm3)+","+Prm4+");");
Prm4="hello Appel4";
Retourner Vrai;
Fin Fonction
Fonction Appel5() Retourner Entier
/********************************/
Debut
Ecran.Ecrire("Appel5();");
Retourner 10;
Fin Fonction
Fonction Appel6(Prm1 : Booleen, Prm2 : Entier, Prm3 : Reel, Prm4 :
Caractere Entree Sortie) Retourner Entier
/**************************************************************************************************/
Debut
Ecran.Ecrire("Appel6("+Caractere(Prm1)+","+Caractere(Prm2)+","+Caractere(Prm3)+","+Prm4+");");
Prm4="hello Appel6";
Retourner 10;
Fin Fonction
Fonction Appel7() Retourner Reel
/******************************/
Debut
Ecran.Ecrire("Appel7();");
Retourner 11.11;
Fin Fonction
Fonction Appel8(Prm1 : Booleen, Prm2 : Entier, Prm3 : Reel, Prm4 :
Caractere Entree Sortie) Retourner Reel
/************************************************************************************************/
Debut
Ecran.Ecrire("Appel8("+Caractere(Prm1)+","+Caractere(Prm2)+","+Caractere(Prm3)+","+Prm4+");");
Prm4="hello Appel8";
Retourner 11.11;
Fin Fonction
Fonction Appel9() Retourner Caractere
/***********************************/
Debut
Ecran.Ecrire("Appel9();");
Retourner "schuss";
Fin Fonction
Fonction Appel10(Prm1 : Booleen, Prm2 : Entier, Prm3 : Reel, Prm4 :
Caractere Entree Sortie) Retourner Caractere
/******************************************************************************************************/
Debut
Ecran.Ecrire("Appel10("+Caractere(Prm1)+","+Caractere(Prm2)+","+Caractere(Prm3)+","+Prm4+");");
Prm4="hello Appel10";
Retourner "schuss";
Fin Fonction
Source Java
import UpsKrn.Caractere;
import UpsKrn.Entier;
import UpsKrn.Liste;
import UpsKrn.MUpsKrn;
import UpsKrn.UpsException;
import libf.C1;
import libf.C2;
import libf.Mlibf;
public class libf2
/****************/
{
public static void main(String s[])
/*********************************/
{
C1 VC1;
C2 VC;
libf.Appel2 PAppel2;
libf.Appel4 PAppel4;
libf.Appel6 PAppel6;
libf.Appel8 PAppel8;
libf.Appel10 PAppel10;
try
{
if (!MUpsKrn.Demarrer())
if (!Mlibf.Demarrer())
VC1=C1.C1();
VC1.CA1(true);
System.out.println("VC1.CA1="+VC1.CA1());
VC1.CB1(MUpsKrn.JavaBoolean2Booleen(true));
System.out.println("VC1.CB1="+MUpsKrn.Booleen2JavaBoolean(VC1.CB1()));
VC1.CC1(2);
System.out.println("VC1.CC1="+VC1.CC1());
VC1.CD1(MUpsKrn.JavaInt2Entier(2));
System.out.println("VC1.CD1="+MUpsKrn.Entier2JavaLong(VC1.CD1()));
VC1.CE1(3.2);
System.out.println("VC1.CE1="+VC1.CE1());
VC1.CF1(MUpsKrn.JavaDouble2Reel(3.2));
System.out.println("VC1.CF1="+MUpsKrn.Reel2JavaDouble(VC1.CF1()));
VC1.CG1(MUpsKrn.JavaString2Caractere("coucou"));
System.out.println("VC1.CG1="+MUpsKrn.Caractere2JavaString(VC1.CG1()));
VC1.CH1(MUpsKrn.JavaString2Caractere("coucou"));
System.out.println("VC1.CH1="+MUpsKrn.Caractere2JavaString(VC1.CH1()));
VC1.CA1V(true);
System.out.println("VC1.CA1V="+VC1.CA1V());
VC1.CB1V(MUpsKrn.JavaBoolean2Booleen(true));
System.out.println("VC1.CB1V="+MUpsKrn.Booleen2JavaBoolean(VC1.CB1V()));
VC1.CC1V(2);
System.out.println("VC1.CC1V="+VC1.CC1V());
VC1.CD1V(MUpsKrn.JavaInt2Entier(2));
System.out.println("VC1.CD1V="+MUpsKrn.Entier2JavaLong(VC1.CD1V()));
VC1.CE1V(3.2);
System.out.println("VC1.CE1V="+VC1.CE1V());
VC1.CF1V(MUpsKrn.JavaDouble2Reel(3.2));
System.out.println("VC1.CF1V="+MUpsKrn.Reel2JavaDouble(VC1.CF1V()));
VC1.CG1V(MUpsKrn.JavaString2Caractere("coucou"));
System.out.println("VC1.CG1V="+MUpsKrn.Caractere2JavaString(VC1.CG1V()));
VC1.CH1V(MUpsKrn.JavaString2Caractere("coucou"));
System.out.println("VC1.CH1V="+MUpsKrn.Caractere2JavaString(VC1.CH1V()));
VC1.Ecrire1(MUpsKrn.JavaBoolean2Booleen(true));
VC1.Ecrire2(MUpsKrn.JavaInt2Entier(2));
VC1.Ecrire3(MUpsKrn.JavaDouble2Reel(3.2));
VC1.Ecrire32(MUpsKrn.JavaString2Caractere("coucou"));
Mlibf.VA1(true);
System.out.println("VA1="+Mlibf.VA1());
Mlibf.VB1(MUpsKrn.JavaBoolean2Booleen(true));
System.out.println("VB1="+MUpsKrn.Booleen2JavaBoolean(Mlibf.VB1()));
Mlibf.VC1(2);
System.out.println("VC1="+Mlibf.VC1());
Mlibf.VD1(MUpsKrn.JavaInt2Entier(2));
System.out.println("VD1="+MUpsKrn.Entier2JavaLong(Mlibf.VD1()));
Mlibf.VE1(3.2);
System.out.println("VE1="+Mlibf.VE1());
Mlibf.VF1(MUpsKrn.JavaDouble2Reel(3.2));
System.out.println("VF1="+MUpsKrn.Reel2JavaDouble(Mlibf.VF1()));
Mlibf.VG1(MUpsKrn.JavaString2Caractere("coucou"));
System.out.println("VG1="+MUpsKrn.Caractere2JavaString(Mlibf.VG1()));
Mlibf.VH1(MUpsKrn.JavaString2Caractere("coucou"));
System.out.println("VH1="+MUpsKrn.Caractere2JavaString(Mlibf.VH1()));
Mlibf.VA1V(true);
System.out.println("VA1V="+Mlibf.VA1V());
Mlibf.VB1V(MUpsKrn.JavaBoolean2Booleen(true));
System.out.println("VB1V="+MUpsKrn.Booleen2JavaBoolean(Mlibf.VB1V()));
Mlibf.VC1V(2);
System.out.println("VC1V="+Mlibf.VC1V());
Mlibf.VD1V(MUpsKrn.JavaInt2Entier(2));
System.out.println("VD1V="+MUpsKrn.Entier2JavaLong(Mlibf.VD1V()));
Mlibf.VE1V(3.2);
System.out.println("VE1V="+Mlibf.VE1V());
Mlibf.VF1V(MUpsKrn.JavaDouble2Reel(3.2));
System.out.println("VF1V="+MUpsKrn.Reel2JavaDouble(Mlibf.VF1V()));
Mlibf.VG1V(MUpsKrn.JavaString2Caractere("coucou"));
System.out.println("VG1V="+MUpsKrn.Caractere2JavaString(Mlibf.VG1V()));
Mlibf.VH1V(MUpsKrn.JavaString2Caractere("coucou"));
System.out.println("VH1V="+MUpsKrn.Caractere2JavaString(Mlibf.VH1V()));
Mlibf.Appel1();
PAppel2=new libf.Appel2();
Mlibf.Appel2(true,2,3.2,PAppel2);
System.out.println(MUpsKrn.Caractere2JavaString(PAppel2.Prm4));
System.out.println("Appel3="+Mlibf.Appel3());
PAppel4=new libf.Appel4();
System.out.println("Appel4="+Mlibf.Appel4(true,2,3.2,PAppel4));
System.out.println(MUpsKrn.Caractere2JavaString(PAppel4.Prm4));
System.out.println("Appel5="+Mlibf.Appel5());
PAppel6=new libf.Appel6();
System.out.println("Appel6="+Mlibf.Appel6(true,2,3.2,PAppel6));
System.out.println(MUpsKrn.Caractere2JavaString(PAppel6.Prm4));
System.out.println("Appel7="+Mlibf.Appel7());
PAppel8=new libf.Appel8();
System.out.println("Appel8="+Mlibf.Appel8(true,2,3.2,PAppel8));
System.out.println(MUpsKrn.Caractere2JavaString(PAppel8.Prm4));
System.out.println("Appel9="+MUpsKrn.Caractere2JavaString(Mlibf.Appel9()));
PAppel10=new libf.Appel10();
System.out.println("Appel10="+MUpsKrn.Caractere2JavaString(Mlibf.Appel10(true,2,3.2,PAppel10)));
System.out.println(MUpsKrn.Caractere2JavaString(PAppel10.Prm4));
Mlibf.Arreter();
MUpsKrn.Arreter();
}
catch (UpsException e)
{
try
{
System.out.println(Erreur UpsKrn-0 : L'exception suivante a été envoyée dans
le source '"
+e.NomSourceEnErreur+"' ligne "+e.NumeroLigne+", colonne "+e.NumeroColonne+
:");
System.out.println(e.MessageErreur);
}
catch (java.lang.Throwable e2)
{
System.out.println(e2.toString());
}
}
}
}