X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?p=CreaPhase.git;a=blobdiff_plain;f=octave_packages%2Fjava-1.2.8%2FjavaArray.m;fp=octave_packages%2Fjava-1.2.8%2FjavaArray.m;h=c6dfb68d0b6b1c943bc2cc824afcf3b4f868a084;hp=0000000000000000000000000000000000000000;hb=f5f7a74bd8a4900f0b797da6783be80e11a68d86;hpb=1705066eceaaea976f010f669ce8e972f3734b05 diff --git a/octave_packages/java-1.2.8/javaArray.m b/octave_packages/java-1.2.8/javaArray.m new file mode 100644 index 0000000..c6dfb68 --- /dev/null +++ b/octave_packages/java-1.2.8/javaArray.m @@ -0,0 +1,48 @@ +## Copyright (C) 2007 Michael Goffioul +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; If not, see . + +## -*- texinfo -*- +## @deftypefn {Function file} {@var{a} =} javaArray (@var{class},@var{[M,N,...]}) +## @deftypefnx {Function file} {@var{a} =} javaArray (@var{class},@var{M},@var{N},...) +## +## Creates a Java array of size [@var{M},@var{N},...] with elements of +## class @var{class}. @var{class} can be a Java object representing a class +## or a string containing the fully qualified class name. +## +## The generated array is uninitialized, all elements are set to null +## if @var{class} is a reference type, or to a default value (usually 0) +## if @var{class} is a primitive type. +## +## @example +## a = javaArray ("java.lang.String", 2, 2); +## a(1,1) = "Hello"; +## @end example +## +## @end deftypefn + +function [ ret ] = javaArray (class_name, varargin) + + switch length (varargin) + case 0 + error ("missing array size"); + case 1 + dims = varargin{1}; + otherwise + dims = [varargin{:}]; + endswitch + + ret = java_invoke ("org.octave.ClassHelper", "createArray", class_name, dims); + +endfunction