1 package net.sf.clirr.core.spi;
2
3 /***
4 * A Java source code entity like a type or a method that has the
5 * concept of a visibility scope.
6 *
7 * Each entity has two scopes: One that is declared and the effective scope.
8 * For example a public method can have an effective scope of package if it
9 * appears in a class that is package visible.
10 *
11 * @author lk
12 *
13 */
14 public interface Scoped
15 {
16 /***
17 * The declared scope of this entity.
18 * @return the scope that appears in the modifiers of this entity.
19 */
20 Scope getDeclaredScope();
21
22 /***
23 * The effective Scope of this entity.
24 *
25 * @return the minimum scope of the modifiers of this entity and
26 * it's all of it's containers.
27 */
28 Scope getEffectiveScope();
29 }