comparison scripts/deprecated/java_set.m @ 15771:4698ea77aa75

Hide java_init, java_exit functions. Deprecate java_new, java_set, java_get. * ov-java.cc: Rename java_init, java_exit to internal versions __java_init__, __java_exit__. Remove java_new. Rename java_set, java_get to __java_set__, __java_get__. Use #ifdef HAVE_JAVA blocks to compile the docstrings for Java functions regardless of whether Java is present. Use Octave coding conventions. * scripts/deprecated/java_get.m, scripts/deprecated/java_new.m, scripts/deprecated/java_set.m: Create new scripts to issue a warning about deprecated functions. * scripts/deprecated/module.mk: Add new deprecated scripts to build system.
author Rik <rik@octave.org>
date Wed, 12 Dec 2012 13:33:37 -0800
parents
children 2a2c090fdef8
comparison
equal deleted inserted replaced
15770:e61405133a76 15771:4698ea77aa75
1 ## Copyright (C) 1995-2012 Kurt Hornik
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 {Loadable Function} {@var{obj} =} java_set (@var{obj}, @var{name}, @var{val})
21 ## Set the value of the field @var{name} of the Java object @var{obj} to
22 ## @var{val}. For static fields, @var{obj} can be a string representing the
23 ## fully qualified named of the corresponding Java class.
24 ##
25 ## When @var{obj} is a regular Java object, structure-like indexing can be
26 ## used as a shortcut syntax. For instance, the two following statements are
27 ## equivalent
28 ##
29 ## @example
30 ## @group
31 ## java_set (x, "field1", val)
32 ## x.field1 = val
33 ## @end group
34 ## @end example
35 ##
36 ## @seealso{java_get, java_invoke, javaObject}
37 ## @end deftypefn
38
39 function retval = java_set (obj, name, val)
40
41 persistent warned = false;
42 if (! warned)
43 warned = true;
44 warning ("Octave:deprecated-function",
45 "java_set is obsolete and will be removed from a future version of Octave; use structure-like indexing instead");
46 endif
47
48 if (nargin != 3)
49 print_usage ();
50 endif
51
52 if (isjava (obj))
53 obj.(name) = val;
54 elseif (ischar (obj))
55 ## FIXME: Need a solution for getting static fields of class
56 ## which does not depend on __java_set__ which will be removed.
57 retval = __java_set__ (obj, name, val);
58 else
59 error ("java_set: OBJ must be a Java object");
60 endif
61
62 endfunction
63