1 20 21 package net.innig.macker.structure; 22 23 import java.util.Set ; 24 import net.innig.collect.MultiMap; 25 26 30 public class IncompleteClassInfo 31 extends AbstractClassInfo 32 { 33 IncompleteClassInfo(ClassManager classManager, String className) 34 { 35 super(classManager); 36 this.className = className; 37 } 38 39 public String getFullName() 40 { return className; } 41 42 public boolean isComplete() 43 { return false; } 44 45 public boolean isInterface() { throw newIncompleteException("get \"interface\" attribute of"); } 46 public boolean isAbstract() { throw newIncompleteException("get \"abstract\" attribute of"); } 47 public boolean isFinal() { throw newIncompleteException("get \"final\" attribute of"); } 48 public AccessModifier getAccessModifier() { throw newIncompleteException("determine accessibility of"); } 49 public ClassInfo getExtends() { throw newIncompleteException("determine superclass of"); } 50 public Set getImplements() { throw newIncompleteException("determine interfaces implemented by"); } 51 public MultiMap getReferences() { throw newIncompleteException("resolve references from"); } 52 53 private IncompleteClassInfoException newIncompleteException(String action) 54 { 55 return new IncompleteClassInfoException( 56 "Unable to " + action + " class " + className 57 + ", because the class file could not be loaded." 58 + " Make sure it is in Macker's classpath."); 59 } 60 61 private String className; 62 } 63 64 65 | Popular Tags |