FSF GCC merge 02/23/03
[official-gcc.git] / libjava / java / lang / reflect / Member.java
blob983d45230ec5272581b2bf53ecc22fca2c7d1107
1 /* java.lang.reflect.Member - common query methods in reflection
2 Copyright (C) 1998, 1999, 2001 Free Software Foundation, Inc.
4 This file is part of GNU Classpath.
6 GNU Classpath is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
9 any later version.
11 GNU Classpath is distributed in the hope that it will be useful, but
12 WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with GNU Classpath; see the file COPYING. If not, write to the
18 Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
19 02111-1307 USA.
21 Linking this library statically or dynamically with other modules is
22 making a combined work based on this library. Thus, the terms and
23 conditions of the GNU General Public License cover the whole
24 combination.
26 As a special exception, the copyright holders of this library give you
27 permission to link this library with independent modules to produce an
28 executable, regardless of the license terms of these independent
29 modules, and to copy and distribute the resulting executable under
30 terms of your choice, provided that you also meet, for each linked
31 independent module, the terms and conditions of the license of that
32 module. An independent module is a module which is not derived from
33 or based on this library. If you modify this library, you may extend
34 this exception to your version of the library, but you are not
35 obligated to do so. If you do not wish to do so, delete this
36 exception statement from your version. */
39 package java.lang.reflect;
41 /**
42 * Member is an interface that represents any member of a class (field or
43 * method) or a constructor. You can get information about the declaring
44 * class, name or modifiers of the member with this interface.
46 * @author John Keiser
47 * @author Per Bothner <bothner@cygnus.com>
48 * @author Eric Blake <ebb9@email.byu.edu>
49 * @see Class
50 * @see Field
51 * @see Method
52 * @see Constructor
53 * @since 1.1
54 * @status updated to 1.4
56 public interface Member
58 /**
59 * Represents all members, whether public, private, protected or
60 * package-protected, but only which are declared in this class.
61 * Used in SecurityManager.checkMemberAccess() to determine the
62 * type of members to access.
63 * @see SecurityManager#checkMemberAccess()
65 int DECLARED = 1;
67 /**
68 * Represents public members only, but includes all inherited members.
69 * Used in SecurityManager.checkMemberAccess() to determine the type of
70 * members to access.
71 * @see SecurityManager#checkMemberAccess()
73 int PUBLIC = 0;
75 /**
76 * Gets the class that declared this member. This is not the class where
77 * this method was called, or even the class where this Member object
78 * came to life, but the class that declares the member this represents.
80 * @return the class that declared this member
82 Class getDeclaringClass();
84 /**
85 * Gets the simple name of this member. This will be a valid Java
86 * identifier, with no qualification.
88 * @return the name of this member
90 String getName();
92 /**
93 * Gets the modifiers this member uses. Use the <code>Modifier</code>
94 * class to interpret the values.
96 * @return an integer representing the modifiers to this Member
97 * @see Modifier
99 int getModifiers();