01: /*______________________________________________________________________________
02: *
03: * Macker http://innig.net/macker/
04: *
05: * Copyright 2002-2003 Paul Cantrell
06: *
07: * This program is free software; you can redistribute it and/or modify it under
08: * the terms of the GNU General Public License version 2, as published by the
09: * Free Software Foundation. See the file LICENSE.html for more information.
10: *
11: * This program is distributed in the hope that it will be useful, but WITHOUT
12: * ANY WARRANTY, including the implied warranty of MERCHANTABILITY or FITNESS
13: * FOR A PARTICULAR PURPOSE. See the license for more details.
14: *
15: * You should have received a copy of the GNU General Public License along with
16: * this program; if not, write to the Free Software Foundation, Inc. / 59 Temple
17: * Place, Suite 330 / Boston, MA 02111-1307 / USA.
18: *______________________________________________________________________________
19: */
20:
21: package net.innig.macker.structure;
22:
23: import java.util.*;
24: import net.innig.collect.*;
25:
26: /**
27: Information about a class's structure.
28: */
29: public interface ClassInfo extends Comparable {
30: public ClassManager getClassManager();
31:
32: public boolean isComplete();
33:
34: public String getFullName();
35:
36: public String getClassName();
37:
38: public String getPackageName();
39:
40: public boolean isInterface();
41:
42: public boolean isAbstract();
43:
44: public boolean isFinal();
45:
46: public AccessModifier getAccessModifier();
47:
48: public ClassInfo getExtends();
49:
50: public Set/*<ClassInfo>*/getImplements();
51:
52: public Set/*<ClassInfo>*/getDirectSupertypes();
53:
54: public Set/*<ClassInfo>*/getSupertypes();
55:
56: public MultiMap/*<ClassInfo,Reference>*/getReferences();
57: }
|