1 2 25 26 package org.aspectj.ajde.ui; 27 28 import org.aspectj.asm.*; 29 import org.aspectj.asm.associations.*; 30 31 36 public abstract class AbstractIconRegistry { 37 38 protected final String RESOURCE_PATH = "org/aspectj/ajde/resources/"; 39 protected final String STRUCTURE_PATH = RESOURCE_PATH + "structure/"; 40 41 protected final AbstractIcon PROJECT = createIcon(STRUCTURE_PATH + "project.gif"); 42 protected final AbstractIcon PACKAGE = createIcon(STRUCTURE_PATH + "package.gif"); 43 protected final AbstractIcon ASPECT = createIcon(STRUCTURE_PATH + "aspect.gif"); 44 protected final AbstractIcon INITIALIZER = createIcon(STRUCTURE_PATH + "code.gif"); 45 protected final AbstractIcon INTRODUCTION = createIcon(STRUCTURE_PATH + "introduction.gif"); 46 protected final AbstractIcon CONSTRUCTOR = createIcon(STRUCTURE_PATH + "method.gif"); 47 protected final AbstractIcon POINTCUT = createIcon(STRUCTURE_PATH + "pointcut.gif"); 48 protected final AbstractIcon ADVICE = createIcon(STRUCTURE_PATH + "advice.gif"); 49 protected final AbstractIcon DECLARE_PARENTS = createIcon(STRUCTURE_PATH + "declareParents.gif"); 50 protected final AbstractIcon DECLARE_WARNING = createIcon(STRUCTURE_PATH + "declareWarning.gif"); 51 protected final AbstractIcon DECLARE_ERROR = createIcon(STRUCTURE_PATH + "declareError.gif"); 52 protected final AbstractIcon DECLARE_SOFT = createIcon(STRUCTURE_PATH + "declareSoft.gif"); 53 protected final AbstractIcon CODE = createIcon(STRUCTURE_PATH + "code.gif"); 54 protected final AbstractIcon ERROR = createIcon(STRUCTURE_PATH + "error.gif"); 55 56 protected final AbstractIcon FILE = createIcon(STRUCTURE_PATH + "file.gif"); 57 protected final AbstractIcon FILE_JAVA = createIcon(STRUCTURE_PATH + "file-java.gif"); 58 protected final AbstractIcon FILE_ASPECTJ = createIcon(STRUCTURE_PATH + "file-aspectj.gif"); 59 protected final AbstractIcon FILE_LST = createIcon(STRUCTURE_PATH + "file-lst.gif"); 60 61 protected final AbstractIcon METHOD = createIcon(STRUCTURE_PATH + "method.gif"); 62 protected final AbstractIcon FIELD = createIcon(STRUCTURE_PATH + "field.gif"); 63 protected final AbstractIcon CLASS = createIcon(STRUCTURE_PATH + "class.gif"); 64 protected final AbstractIcon INTERFACE = createIcon(STRUCTURE_PATH + "interface.gif"); 65 66 protected final AbstractIcon RELATION_ADVICE_FORWARD = createIcon(STRUCTURE_PATH + "adviceForward.gif"); 67 protected final AbstractIcon RELATION_ADVICE_BACK = createIcon(STRUCTURE_PATH + "adviceBack.gif"); 68 protected final AbstractIcon RELATION_INHERITANCE_FORWARD = createIcon(STRUCTURE_PATH + "inheritanceForward.gif"); 69 protected final AbstractIcon RELATION_INHERITANCE_BACK = createIcon(STRUCTURE_PATH + "inheritanceBack.gif"); 70 protected final AbstractIcon RELATION_REFERENCE_FORWARD = createIcon(STRUCTURE_PATH + "referenceForward.gif"); 71 protected final AbstractIcon RELATION_REFERENCE_BACK = createIcon(STRUCTURE_PATH + "referenceBack.gif"); 72 73 public AbstractIcon getRelationIcon(Relation relation) { 74 if (relation.getAssociationName().equals(Advice.NAME)) { 75 return RELATION_ADVICE_FORWARD; 76 } else if (relation.getAssociationName().equals(Introduction.NAME)) { 77 return RELATION_ADVICE_FORWARD; 78 } else if (relation.getAssociationName().equals(Inheritance.NAME)) { 79 return RELATION_INHERITANCE_FORWARD; 80 } else { 81 return RELATION_REFERENCE_FORWARD; 82 } 83 } 84 85 88 protected AbstractIcon getStructureIcon(ProgramElementNode.Kind kind, ProgramElementNode.Accessibility accessibility) { 89 return getStructureIcon(kind, ProgramElementNode.Accessibility.PUBLIC); 90 } 91 92 97 public AbstractIcon getStructureIcon(ProgramElementNode.Kind kind) { 98 if (kind == ProgramElementNode.Kind.PROJECT) { 99 return PROJECT; 100 } else if (kind == ProgramElementNode.Kind.PACKAGE) { 101 return PACKAGE; 102 } else if (kind == ProgramElementNode.Kind.FILE) { 103 return FILE; 104 } else if (kind == ProgramElementNode.Kind.FILE_JAVA) { 105 return FILE_JAVA; 106 } else if (kind == ProgramElementNode.Kind.FILE_ASPECTJ) { 107 return FILE_ASPECTJ; 108 } else if (kind == ProgramElementNode.Kind.FILE_LST) { 109 return FILE_LST; 110 } else if (kind == ProgramElementNode.Kind.CLASS) { 111 return CLASS; 112 } else if (kind == ProgramElementNode.Kind.INTERFACE) { 113 return INTERFACE; 114 } else if (kind == ProgramElementNode.Kind.ASPECT) { 115 return ASPECT; 116 } else if (kind == ProgramElementNode.Kind.INITIALIZER) { 117 return INITIALIZER; 118 } else if (kind == ProgramElementNode.Kind.INTRODUCTION) { 119 return INTRODUCTION; 120 } else if (kind == ProgramElementNode.Kind.CONSTRUCTOR) { 121 return CONSTRUCTOR; 122 } else if (kind == ProgramElementNode.Kind.METHOD) { 123 return METHOD; 124 } else if (kind == ProgramElementNode.Kind.FIELD) { 125 return FIELD; 126 } else if (kind == ProgramElementNode.Kind.POINTCUT) { 127 return POINTCUT; 128 } else if (kind == ProgramElementNode.Kind.ADVICE) { 129 return ADVICE; 130 } else if (kind == ProgramElementNode.Kind.DECLARE_PARENTS) { 131 return DECLARE_PARENTS; 132 } else if (kind == ProgramElementNode.Kind.DECLARE_WARNING) { 133 return DECLARE_WARNING; 134 } else if (kind == ProgramElementNode.Kind.DECLARE_ERROR) { 135 return DECLARE_ERROR; 136 } else if (kind == ProgramElementNode.Kind.DECLARE_SOFT) { 137 return DECLARE_SOFT; 138 } else if (kind == ProgramElementNode.Kind.CODE) { 139 return CODE; 140 } else if (kind == ProgramElementNode.Kind.ERROR) { 141 return ERROR; 142 } else { 143 System.err.println("AJDE Message: unresolved icon kind " + kind); 144 return null; 145 } 146 } 147 148 151 protected abstract AbstractIcon createIcon(String path); 152 } 153 154 155 156 | Popular Tags |