MINERVA + Java Libraries as standalone application
This example shows
Note that this example is for an application, not for applets
The top level MINERVA source program is example2.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
% 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 ]).
% MINERVA (c) IF Computer 1996,97 % http://www.ifcomputer.com/MINERVA mailto:support@ifcomputer.com % file: example1.min
:- package(property).
main(Args) :- property(Args).
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 # file Compile.sh, Compile
CLASSPATH=.:$MINERVA_HOME:$CLASSPATH export CLASSPATH
# without GUI
# produce the extended Minerva top level and single added class minervax -f MinervaProperty property mjavac MinervaProperty.java mjavac property.java
minervac example2
@echo off
set prevclp=%CLASSPATH% set CLASSPATH=%MINERVA_HOME%;%CLASSPATH%
rem produce the extended Minerva top level and single added class call minervax -f MinervaProperty property call mjavac MinervaProperty.java call mjavac property.java
call minervac example2
set CLASSPATH=%prevclp%
#!/bin/sh export CLASSPATH=.:$MINERVA_HOME:$CLASSPATH
mjava \ MinervaProperty \ -c $MINERVA_HOME/minerva.mca \ -l example2
@echo off set prevclp=%CLASSPATH% set CLASSPATH=%MINERVA_HOME%;%CLASSPATH% call mjava MinervaProperty -c %MINERVA_HOME%\minerva.mca -l example2 set CLASSPATH=%prevclp%