All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.xmlbeans.impl.jam.JMember Maven / Gradle / Ivy

There is a newer version: 5.0.22
Show newest version
/*   Copyright 2004 The Apache Software Foundation
 *
 *   Licensed under the Apache License, Version 2.0 (the "License");
 *   you may not use this file except in compliance with the License.
 *   You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 *   Unless required by applicable law or agreed to in writing, software
 *   distributed under the License is distributed on an "AS IS" BASIS,
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *   See the License for the specific language governing permissions and
 *  limitations under the License.
 */

package org.apache.xmlbeans.impl.jam;



/**
 * 

Represents an abstraction which can be member of a class. Such * abstractions include: constructors, methods, fields, and classes * (in the case of inner classes). JMember's share the following * attributes in common: they have some level of access protection * (public/protected/private) and are (usually) contained within a * class.

* *

Because classes themselves can be members of other classes, * JClass extends JMember. In the case where a JClass represents a * top-level class (i.e. not an inner class), * JMember.getContainingClass() will always return null.

* *

Note that the various access protection levels are all mutually * exclusive. For a given abstraction, only one of isPrivate(), * isPackagePrivate(), isProtected(), or isPublic() will return true. * Note that this information is also exposed via getModifiers(), * which returns a bit-field that is identical to that described in * java.lang.reflect.Modifier.

* * @author Patrick Calahan <email: pcal-at-bea-dot-com> */ public abstract interface JMember extends JAnnotatedElement { // ======================================================================== // Public methods /** *

Returns a representation of the class which contains this * member. Note that if this member is an inner class, this method * returns the class in which this class is declared (i.e. 'outer'). * If this member is a top-level class, this method will always * return null.

*/ public JClass getContainingClass(); /** *

Returns the modifiers specifier. This is a bit field exactly * like those returned by java.lang.Class.getModifiers() and can be * manipulated using java.lang.reflect.Modifier in the same way.

*/ public int getModifiers(); /** * Return true if this member is package private (i.e. the default * access protection level). */ public boolean isPackagePrivate(); /** * Return true if this member is private. Equivalent to calling * Modifier.isPrivate(member.getModifiers()). */ public boolean isPrivate(); /** * Return true if this member is protected. Equivalent to calling * Modifier.isProtected(member.getModifiers()). */ public boolean isProtected(); /** * Return true if this member is public. Equivalent to calling * Modifier.isProtected(member.getModifiers()). */ public boolean isPublic(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy