Mercurial > hg > octave-nkf
comparison scripts/deprecated/javafields.m @ 15781:c33594eefda7
Add fieldnames.m which extensds fieldnames() to work on Java objects.
Deprecate javafields. Rename old C++ fieldnames to __fieldnames__.
* scripts/deprecated/javafields.m: Moved from scripts/java. Added deprecated
warning.
* scripts/java/javafields.m: Moved to scripts/deprecated.
* scripts/general/fieldnames.m: New m-file which accepts Java, structure,
or Octave objects as inputs.
* libinterp/octave-value/ov-struct.cc(Ffieldnames): Renamed fieldnames to
__fieldnames__ to avoid class with fieldnames.m.
* scripts/deprecated/module.mk: Added javafields to deprecated build.
* scripts/general/module.mk: Added fieldnames.m to build.
* scripts/java/module.mk: Removed javafields.m from build.
author | Rik <rik@octave.org> |
---|---|
date | Thu, 13 Dec 2012 10:57:04 -0800 |
parents | scripts/java/javafields.m@0f1a143e5002 |
children | 921912c92102 |
comparison
equal
deleted
inserted
replaced
15780:f25101b1e37f | 15781:c33594eefda7 |
---|---|
1 ## Copyright (C) 2007 Michael Goffioul | |
2 ## | |
3 ## This file is part of Octave. | |
4 ## | |
5 ## Octave is free software; you can redistribute it and/or modify it | |
6 ## under the terms of the GNU General Public License as published by | |
7 ## the Free Software Foundation; either version 3 of the License, or (at | |
8 ## your option) any later version. | |
9 ## | |
10 ## Octave is distributed in the hope that it will be useful, but | |
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 ## General Public License for more details. | |
14 ## | |
15 ## You should have received a copy of the GNU General Public License | |
16 ## along with Octave; see the file COPYING. If not, see | |
17 ## <http://www.gnu.org/licenses/>. | |
18 | |
19 ## -*- texinfo -*- | |
20 ## @deftypefn {Function File} {} javafields (@var{javaobj}) | |
21 ## @deftypefnx {Function File} {} javafields ("@var{classname}") | |
22 ## @deftypefnx {Function File} {@var{fld_names} =} javafields (@dots{}) | |
23 ## Return the fields of a Java object or Java class in the form of a cell | |
24 ## array of strings. If no output is requested, print the result | |
25 ## to the standard output. | |
26 ## @seealso{fieldnames, methods, javamethods, javaObject} | |
27 ## @end deftypefn | |
28 | |
29 function fld_names = javafields (javaobj) | |
30 | |
31 persistent warned = false; | |
32 if (! warned) | |
33 warned = true; | |
34 warning ("Octave:deprecated-function", | |
35 "javafields is obsolete and will be removed from a future version of Octave, please use fieldnames instead"); | |
36 endif | |
37 | |
38 if (nargin != 1) | |
39 print_usage (); | |
40 endif | |
41 | |
42 c_methods = java_invoke ("org.octave.ClassHelper", "getFields", javaobj); | |
43 method_list = strsplit (c_methods, ';'); | |
44 | |
45 if (nargout == 0) | |
46 if (! isempty (method_list)) | |
47 disp (method_list); | |
48 endif | |
49 else | |
50 fld_names = cellstr (method_list); | |
51 endif | |
52 | |
53 endfunction | |
54 |