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