MinervaToJava_4

MINERVA + Gui + Java Library + Own Library as Standalone and Applet

This example shows

The declaration of the extension for the Java library is property.mxt

The declaration of the extension for the own library is mystuff.mxt

The applet wrapper is wrap.html

The top level MINERVA source program is example4.min

Refer to 'Compile', 'Go' and the other files of this directory for details.

Questions? Problems? Feedback? Please let us know! mailto:support@ifcomputer.com

% MINERVA (c) IF Computer 1996,97

% http://www.ifcomputer.com/MINERVA mailto:support@ifcomputer.com % file: example1.min

:- package(gui). :- package(mystuff). :- package(property).

main(Applet, Args) :- textArea_create(16, 60, OutputWindow), textComponent_setEditable(OutputWindow,false), container_add(Applet, 'Center', OutputWindow), textArea_getOutputStream(OutputWindow, Output), set_output(Output), set_error(Output), run_add3, property(Args).

run_add3 :- write('add3(10,11,12) returned: '), add3(10,11,12,X), writeq(X), nl, flush_output.

property(Args) :- write(Args),nl,flush_output, p(system_getProperties(_)), p(system_getProperty('my.parameter',unknownParam,_)), p(system_getProperty('java.version',_)), p(system_getProperty('java.vendor',_)), p(system_getProperty('java.vendor.url',_)), p(system_getProperty('java.home',_)), p(system_getProperty('java.class.version',_)), p(system_getProperty('java.class.path',_)), p(system_getProperty('os.name',_)), p(system_getProperty('os.arch',_)), p(system_getProperty('os.version',_)), p(system_getProperty('file.separator',_)), p(system_getProperty('path.separator',_)), p(system_getProperty('line.separator',_)), p(system_getProperty('user.name',_)), p(system_getProperty('user.home',_)), p(system_getProperty('user.dir',_)), !.

p(Goal) :- catch(Goal,AnyError,sorry(Goal,AnyError)), writeq(Goal), nl, flush_output, !.

sorry(Goal,AnyError) :- println(['Oooops: ', quoted(Goal)]), println(['caused: ', quoted(AnyError)]), flush_output.

#!/bin/sh

CLASSPATH=.:$MINERVA_HOME:$CLASSPATH export CLASSPATH

mjavac AddTest.java minervax -gui -f MinervaGuiExtended -c PackageProperty property minervax -f Dummy -c PackageMystuff mystuff

mjavac PackageProperty.java mjavac PackageMystuff.java

rm tmp.java mv MinervaGuiExtended.java tmp.java

minervac extend minerva -l extend tmp.java MinervaGuiExtended.java

rm tmp.java

mjavac MinervaGuiExtended.java

cp -p MinervaGuiExtended.class $MINERVA_HOME/userclasses cp -p PackageProperty.class $MINERVA_HOME/userclasses cp -p PackageMystuff.class $MINERVA_HOME/userclasses cp -p add3.class $MINERVA_HOME/userclasses

minervac example4

% MINERVA (c) IF Computer 1996,97 % http://www.ifcomputer.com/MINERVA mailto:support@ifcomputer.com

% add3(+Integer,+Integer,+Integer,-Integer) <- java_predicates('AddTest', [ add3 = add3(int,int,int) ]).

// add3 adds three integers and returns the result public class AddTest { public static int add3(int a, int b, int c) { return a + b + c; } }

% MINERVA (c) IF Computer 1996,97 % http://www.ifcomputer.com/MINERVA mailto:support@ifcomputer.com

% PropertyExtension--------------------------------------------

java_predicates('java.util.Properties', [ create_properties = 'Properties', properties_getProperty = getProperty(string,string), properties_getProperty = getProperty(string), properties_propertyNames = propertyNames, system_getProperty = getProperty(string,string) ]).

java_predicates('java.lang.System', [ system_getProperty = getProperty(string), system_getProperties = getProperties ]).


Darueber read on...