Skip to content

Commit 05d9789

Browse files
committed
stdlib.java namespace more robust
This is important now that Matlab doesn't include Java
1 parent d863624 commit 05d9789

14 files changed

Lines changed: 43 additions & 44 deletions

File tree

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
%% JAVA_API Java API version
22

3-
function a = java_api()
3+
function a = api()
44

55
try
66
a = javaMethod('getProperty', 'java.lang.System', 'java.specification.version');
77
a = str2double(a);
8-
catch
9-
a = missing;
8+
catch e
9+
a = javaException(e);
1010
end
1111

1212
end

+stdlib/+java/cpu_load.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
L = b.getSystemLoadAverage();
77
if L < 0
8-
if stdlib.java_api() < 14
8+
if stdlib.java.api() < 14
99
L = b.getSystemCpuLoad();
1010
else
1111
% https://docs.oracle.com/en/java/javase/21/docs/api/jdk.management/com/sun/management/OperatingSystemMXBean.html#getCpuLoad()

+stdlib/+java/home.m

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
%% JAVA.HOME get the JAVA_HOME environment variable
2+
3+
function h = home()
4+
5+
try
6+
h = char(javaMethod('getProperty', 'java.lang.System', 'java.home'));
7+
catch e
8+
h = javaException(e);
9+
end
10+
11+
end

+stdlib/+java/private/javaPathObject.m

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
%% JAVAPATHOBJECT Return a Java nio.file.Path object for a given file path.
22
function o = javaPathObject(p)
33

4-
ja = javaArray('java.lang.String', 0);
5-
o = javaMethod('get', 'java.nio.file.Paths', p, ja);
4+
o = java.nio.file.Paths.get(p, javaArray('java.lang.String', 0));
65

76
% o = java.io.File(p).toPath();
87
% javaArray way about 20% faster

+stdlib/+java/ram_free.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
try
44
b = javaMethod('getOperatingSystemMXBean', 'java.lang.management.ManagementFactory');
55

6-
if stdlib.java_api() < 14
6+
if stdlib.java.api() < 14
77
bytes = b.getFreePhysicalMemorySize();
88
else
99
bytes = b.getFreeMemorySize();

+stdlib/+java/ram_total.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
try
88
b = javaMethod('getOperatingSystemMXBean', 'java.lang.management.ManagementFactory');
99

10-
if stdlib.java_api() < 14
10+
if stdlib.java.api() < 14
1111
bytes = b.getTotalPhysicalMemorySize();
1212
else
1313
bytes = b.getTotalMemorySize();

+stdlib/+java/vendor.m

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
%% JAVA.VENDOR get vendor of Java Virtual Machine
2+
3+
function v = vendor()
4+
5+
try
6+
v = char(javaMethod('getProperty', 'java.lang.System', 'java.vendor'));
7+
catch e
8+
v = javaException(e);
9+
end
10+
11+
end
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
%% JAVA_VERSION get version of Java Virtual Machine
1+
%% JAVA.VERSION get version of Java Virtual Machine
22
%
33
% this gives a long string with more detail
44
% version('-java')
@@ -7,12 +7,12 @@
77
% java.lang.Runtime.version()
88
% java.lang.Runtime.getRuntime().version
99

10-
function v = java_version()
10+
function v = version()
1111

1212
try
1313
v = char(javaMethod('getProperty', 'java.lang.System', 'java.version'));
14-
catch
15-
v = missing;
14+
catch e
15+
v = javaException(e);
1616
end
1717

1818
end

+stdlib/doctor.m

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,9 @@
2727
raw.netcdf = ncv;
2828
end
2929

30-
if stdlib.has_java()
31-
raw.java.vendor = stdlib.java_vendor();
32-
raw.java.version = stdlib.java_version();
33-
raw.java.home = stdlib.java_home();
34-
end
30+
raw.java.vendor = stdlib.java.vendor();
31+
raw.java.version = stdlib.java.version();
32+
raw.java.home = stdlib.java.home();
3533

3634
if stdlib.has_dotnet()
3735
raw.dotnet.version = stdlib.dotnet_version();

+stdlib/java_home.m

Lines changed: 0 additions & 11 deletions
This file was deleted.

0 commit comments

Comments
 (0)