IF Computer > MINERVA > Example Programs > MINERVA Features > MinervaToJava_2

MinervaToJava_2

MINERVA
ifcomputer logo
f
Expert Services on the Web

MINERVA + Java Libraries as standalone application

This example shows

  • how to extend MINERVA with Java Property handling
  • how to produce library packages for MINERVA
  • how to compile and statically link the extension
  • how to execute this as standalone
  • how to handle security exceptions
  • how to use 'catch/3'
The declaration of the extension is property.mxt

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%

document: http://www.ifcomputer.co.jp/MINERVA/ExamplePrograms/MinervaFeatures/MinervaToJava_2/print_de.html
published 2008/12/1 update 2001/3/22 (c) 1996-2006 IF Computer Japan
IF Computer 5-28-2 Sendagi, Bunkyo-ku Tel +81-3-5814-3352 start (AT) ifcomputer.com
Customer Support Tokyo 113-0022 Japan   http://www.ifcomputer.com
Back> managed with ubiCMS