001: /*******************************************************************************
002: * Copyright (c) 2000, 2005 IBM Corporation and others.
003: * All rights reserved. This program and the accompanying materials
004: * are made available under the terms of the Eclipse Public License v1.0
005: * which accompanies this distribution, and is available at
006: * http://www.eclipse.org/legal/epl-v10.html
007: *
008: * Contributors:
009: * IBM Corporation - initial API and implementation
010: *******************************************************************************/package org.eclipse.jdt.debug.core;
011:
012: import org.eclipse.debug.core.DebugException;
013:
014: /**
015: * Modifiers common to Java debug elements that have associated Java
016: * member declarations. For example, the method associated with a stack frame,
017: * or the field associated with a variable.
018: * <p>
019: * Clients are not intended to implement this interface.
020: * </p>
021: */
022: public interface IJavaModifiers {
023:
024: /**
025: * Returns whether the associated Java construct is declared as public.
026: *
027: * @return whether the associated Java construct is declared as public
028: * @exception DebugException if this method fails. Reasons include:
029: * <ul><li>Failure communicating with the VM. The DebugException's
030: * status code contains the underlying exception responsible for
031: * the failure.</li></ul>
032: */
033: public boolean isPublic() throws DebugException;
034:
035: /**
036: * Returns whether the associated Java construct is declared as private.
037: *
038: * @return whether the associated Java construct is declared as private
039: * @exception DebugException if this method fails. Reasons include:
040: * <ul><li>Failure communicating with the VM. The DebugException's
041: * status code contains the underlying exception responsible for
042: * the failure.</li></ul>
043: */
044: public boolean isPrivate() throws DebugException;
045:
046: /**
047: * Returns whether the associated Java construct is declared as protected.
048: *
049: * @return whether the associated Java construct is declared as protected
050: * @exception DebugException if this method fails. Reasons include:
051: * <ul><li>Failure communicating with the VM. The DebugException's
052: * status code contains the underlying exception responsible for
053: * the failure.</li></ul>
054: */
055: public boolean isProtected() throws DebugException;
056:
057: /**
058: * Returns whether the associated Java construct is declared with
059: * no protection modifier (package private protection).
060: *
061: * @return whether the associated Java construct is declared as package private
062: * @exception DebugException if this method fails. Reasons include:
063: * <ul><li>Failure communicating with the VM. The DebugException's
064: * status code contains the underlying exception responsible for
065: * the failure.</li></ul>
066: */
067: public boolean isPackagePrivate() throws DebugException;
068:
069: /**
070: * Returns whether the associated Java construct is declared as final.
071: *
072: * @return whether the associated Java construct is declared as final
073: * @exception DebugException if this method fails. Reasons include:
074: * <ul><li>Failure communicating with the VM. The DebugException's
075: * status code contains the underlying exception responsible for
076: * the failure.</li></ul>
077: */
078: public boolean isFinal() throws DebugException;
079:
080: /**
081: * Returns whether the associated Java construct is declared as static.
082: *
083: * @return whether the associated Java construct is declared as static
084: * @exception DebugException if this method fails. Reasons include:
085: * <ul><li>Failure communicating with the VM. The DebugException's
086: * status code contains the underlying exception responsible for
087: * the failure.</li></ul>
088: */
089: public boolean isStatic() throws DebugException;
090:
091: /**
092: * Returns whether the associated Java construct is synthetic.
093: * Synthetic members are generated by the compiler
094: * and are not present in source code.
095: *
096: * @return whether the associated Java construct is synthetic
097: * @exception DebugException if this method fails. Reasons include:
098: * <ul><li>Failure communicating with the VM. The DebugException's
099: * status code contains the underlying exception responsible for
100: * the failure.</li></ul>
101: */
102: public boolean isSynthetic() throws DebugException;
103:
104: }
|