00001
00058 package com.arcle.rmt.j2se.swing.vc;
00059
00060 import java.util.Map;
00061 import java.util.Hashtable;
00062
00063 import com.arcle.rmt.rqml.RQMLFirstClass;
00064 import com.arcle.rmt.rqml.Requirement;
00065 import com.arcle.rmt.rqml.Stakeholder;
00066 import com.arcle.rmt.rqml.Assumption;
00067 import com.arcle.rmt.rqml.Issue;
00068 import com.arcle.rmt.rqml.Taxonomy;
00069 import com.arcle.rmt.rqml.Context;
00070 import com.arcle.rmt.rqml.Lexicon;
00071 import com.arcle.rmt.rqml.Project;
00072 import com.arcle.rmt.rqml.Usecase;
00073
00078 public class ElementList extends AbstractElementList {
00079
00080 public ElementList(ElementEditFactory f) {
00081 super(f);
00082 }
00083
00084 protected AbstractElementList.ElementTypeNodeFacade
00085 createElementTypeNodeFacade() {
00086 return new ElementTypeNodeFacade();
00087 }
00088
00089
00090
00091
00092
00096 protected class ElementTypeNodeFacade
00097 extends AbstractElementList.ElementTypeNodeFacade {
00098
00099 protected Map createMappings() {
00100
00101 Map nodes = new Hashtable(10, 1);
00102
00103 nodes.put(Requirement.class, new ElementTypeNode(getRootNode(),
00104 "Requirements",
00105 new NewElementAction("New Requirement") {
00106 public RQMLFirstClass createRQMLFirstClass() {
00107 return getRQMLDocument().createRequirement();
00108 }
00109 }
00110 ));
00111
00112 nodes.put(Stakeholder.class, new ElementTypeNode(getRootNode(),
00113 "Stakeholders",
00114 new NewElementAction("New Stakeholder") {
00115 public RQMLFirstClass createRQMLFirstClass() {
00116 return getRQMLDocument().createStakeholder();
00117 }
00118 }
00119 ));
00120
00121 nodes.put(Assumption.class, new ElementTypeNode(getRootNode(),
00122 "Assumptions",
00123 new NewElementAction("New Assumption") {
00124 public RQMLFirstClass createRQMLFirstClass() {
00125 return getRQMLDocument().createAssumption();
00126 }
00127 }
00128 ));
00129
00130 nodes.put(Issue.class, new ElementTypeNode(getRootNode(), "Issues",
00131 new NewElementAction("New Issue") {
00132 public RQMLFirstClass createRQMLFirstClass() {
00133 return getRQMLDocument().createIssue();
00134 }
00135 }
00136 ));
00137
00138 nodes.put(Taxonomy.class, new ElementTypeNode(getRootNode(), "Taxonomies",
00139 new NewElementAction("New Taxonomy") {
00140 public RQMLFirstClass createRQMLFirstClass() {
00141 return getRQMLDocument().createTaxonomy();
00142 }
00143 }
00144 ));
00145
00146 nodes.put(Context.class, new ElementTypeNode(getRootNode(), "Contexts",
00147 new NewElementAction("New Context") {
00148 public RQMLFirstClass createRQMLFirstClass() {
00149 return getRQMLDocument().createContext();
00150 }
00151 }
00152 ));
00153
00154 nodes.put(Lexicon.class, new ElementTypeNode(getRootNode(), "Lexicons",
00155 new NewElementAction("New Lexicon") {
00156 public RQMLFirstClass createRQMLFirstClass() {
00157 return getRQMLDocument().createLexicon();
00158 }
00159 }
00160 ));
00161
00162 nodes.put(Project.class, new ElementTypeNode(getRootNode(), "Projects",
00163 new NewElementAction("New Project") {
00164 public RQMLFirstClass createRQMLFirstClass() {
00165 return getRQMLDocument().createProject();
00166 }
00167 }
00168 ));
00169
00170 nodes.put(Usecase.class, new ElementTypeNode(getRootNode(), "Use-Cases",
00171 new NewElementAction("New Use-Case") {
00172 public RQMLFirstClass createRQMLFirstClass() {
00173 return getRQMLDocument().createUsecase();
00174 }
00175 }
00176 ));
00177
00178 return nodes;
00179 }
00180 }
00181 }