1 package org.eclipse.emf.codegen.ecore.templates.edit; 2 3 import java.util.*; 4 import org.eclipse.emf.codegen.ecore.genmodel.*; 5 6 public class ItemProvider 7 { 8 protected static String nl; 9 public static synchronized ItemProvider create(String lineSeparator) 10 { 11 nl = lineSeparator; 12 ItemProvider result = new ItemProvider(); 13 nl = null; 14 return result; 15 } 16 17 protected final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl; 18 protected final String TEXT_1 = ""; 19 protected final String TEXT_2 = "/**" + NL + " * <copyright>" + NL + " * </copyright>" + NL + " *" + NL + " * "; 20 protected final String TEXT_3 = "Id"; 21 protected final String TEXT_4 = NL + " */" + NL + "package "; 22 protected final String TEXT_5 = ";" + NL + NL; 23 protected final String TEXT_6 = NL + NL + "/**" + NL + " * This is the item provider adapter for a {@link "; 24 protected final String TEXT_7 = "} object." + NL + " * <!-- begin-user-doc -->" + NL + " * <!-- end-user-doc -->" + NL + " * @generated" + NL + " */" + NL + "public class "; 25 protected final String TEXT_8 = NL + "\textends "; 26 protected final String TEXT_9 = NL + "\timplements"; 27 protected final String TEXT_10 = "\t" + NL + "\t\t"; 28 protected final String TEXT_11 = ","; 29 protected final String TEXT_12 = "\t\t" + NL + "{"; 30 protected final String TEXT_13 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final "; 31 protected final String TEXT_14 = " copyright = \""; 32 protected final String TEXT_15 = "\";"; 33 protected final String TEXT_16 = NL; 34 protected final String TEXT_17 = NL + "\t/**" + NL + "\t * This constructs an instance from a factory and a notifier." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic "; 35 protected final String TEXT_18 = "(AdapterFactory adapterFactory)" + NL + "\t{" + NL + "\t\tsuper(adapterFactory);" + NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * This returns the property descriptors for the adapted class." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic List getPropertyDescriptors(Object object)" + NL + "\t{" + NL + "\t\tif (itemPropertyDescriptors == null)" + NL + "\t\t{" + NL + "\t\t\tsuper.getPropertyDescriptors(object);" + NL; 36 protected final String TEXT_19 = NL + "\t\t\tadd"; 37 protected final String TEXT_20 = "PropertyDescriptor(object);"; 38 protected final String TEXT_21 = NL + "\t\t}" + NL + "\t\treturn itemPropertyDescriptors;" + NL + "\t}" + NL; 39 protected final String TEXT_22 = NL + "\t/**" + NL + "\t * This adds a property descriptor for the "; 40 protected final String TEXT_23 = " feature." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected void add"; 41 protected final String TEXT_24 = "PropertyDescriptor(Object object)" + NL + "\t{" + NL + "\t\titemPropertyDescriptors.add" + NL + "\t\t\t(createItemPropertyDescriptor" + NL + "\t\t\t\t((("; 42 protected final String TEXT_25 = ")adapterFactory).getRootAdapterFactory()," + NL + "\t\t\t\t getResourceLocator()," + NL + "\t\t\t\t getString(\"_UI_"; 43 protected final String TEXT_26 = "_"; 44 protected final String TEXT_27 = "_feature\"),"; 45 protected final String TEXT_28 = NL + "\t\t\t\t getString(\"_UI_PropertyDescriptor_description\", \"_UI_"; 46 protected final String TEXT_29 = "_"; 47 protected final String TEXT_30 = "_feature\", \"_UI_"; 48 protected final String TEXT_31 = "_type\"),"; 49 protected final String TEXT_32 = NL + "\t\t\t\t getString(\"_UI_"; 50 protected final String TEXT_33 = "_"; 51 protected final String TEXT_34 = "_description\"),"; 52 protected final String TEXT_35 = NL + "\t\t\t\t "; 53 protected final String TEXT_36 = ".eINSTANCE.get"; 54 protected final String TEXT_37 = "()," + NL + "\t\t\t\t "; 55 protected final String TEXT_38 = ","; 56 protected final String TEXT_39 = NL + "\t\t\t\t null,"; 57 protected final String TEXT_40 = NL + "\t\t\t\t "; 58 protected final String TEXT_41 = "."; 59 protected final String TEXT_42 = ","; 60 protected final String TEXT_43 = NL + "\t\t\t\t null,"; 61 protected final String TEXT_44 = NL + "\t\t\t\t getString(\""; 62 protected final String TEXT_45 = "\"),"; 63 protected final String TEXT_46 = NL + "\t\t\t\t null));"; 64 protected final String TEXT_47 = NL + "\t\t\t\t new String[] {"; 65 protected final String TEXT_48 = NL + "\t\t\t\t\t\""; 66 protected final String TEXT_49 = "\""; 67 protected final String TEXT_50 = ","; 68 protected final String TEXT_51 = NL + "\t\t\t\t }));"; 69 protected final String TEXT_52 = NL + "\t}" + NL; 70 protected final String TEXT_53 = NL + "\t/**" + NL + "\t * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an" + NL + "\t * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or" + NL + "\t * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic "; 71 protected final String TEXT_54 = " getChildrenFeatures(Object object)" + NL + "\t{" + NL + "\t\tif (childrenFeatures == null)" + NL + "\t\t{" + NL + "\t\t\tsuper.getChildrenFeatures(object);"; 72 protected final String TEXT_55 = NL + "\t\t\tchildrenFeatures.add("; 73 protected final String TEXT_56 = ".eINSTANCE.get"; 74 protected final String TEXT_57 = "());"; 75 protected final String TEXT_58 = NL + "\t\t}" + NL + "\t\treturn childrenFeatures;" + NL + "\t}" + NL; 76 protected final String TEXT_59 = NL + "\t/**" + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected "; 77 protected final String TEXT_60 = " getChildFeature(Object object, Object child)" + NL + "\t{" + NL + "\t\t// Check the type of the specified child object and return the proper feature to use for" + NL + "\t\t// adding (see {@link AddCommand}) it as a child." + NL + "" + NL + "\t\treturn super.getChildFeature(object, child);" + NL + "\t}" + NL; 78 protected final String TEXT_61 = NL + "\t/**" + NL + "\t * This returns "; 79 protected final String TEXT_62 = ".gif." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic Object getImage(Object object)" + NL + "\t{" + NL + "\t\treturn getResourceLocator().getImage(\"full/obj16/"; 80 protected final String TEXT_63 = "\");"; 81 protected final String TEXT_64 = NL + "\t}" + NL; 82 protected final String TEXT_65 = NL + "\t/**" + NL + "\t * This returns the label text for the adapted class." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic String getText(Object object)" + NL + "\t{"; 83 protected final String TEXT_66 = NL + "\t\t"; 84 protected final String TEXT_67 = " "; 85 protected final String TEXT_68 = " = ("; 86 protected final String TEXT_69 = ")object;" + NL + "\t\treturn \"\" + "; 87 protected final String TEXT_70 = ".getKey() + \" -> \" + "; 88 protected final String TEXT_71 = ".getValue();"; 89 protected final String TEXT_72 = NL + "\t\t"; 90 protected final String TEXT_73 = " "; 91 protected final String TEXT_74 = " = ("; 92 protected final String TEXT_75 = ")object;" + NL + "\t\treturn getString(\"_UI_"; 93 protected final String TEXT_76 = "_type\") + \" \" + "; 94 protected final String TEXT_77 = "."; 95 protected final String TEXT_78 = "();"; 96 protected final String TEXT_79 = NL + "\t\tString label = (("; 97 protected final String TEXT_80 = ")object)."; 98 protected final String TEXT_81 = "();"; 99 protected final String TEXT_82 = NL + "\t\t"; 100 protected final String TEXT_83 = " labelValue = (("; 101 protected final String TEXT_84 = ")object)."; 102 protected final String TEXT_85 = "();" + NL + "\t\tString label = labelValue == null ? null : labelValue.toString();"; 103 protected final String TEXT_86 = NL + "\t\treturn label == null || label.length() == 0 ?" + NL + "\t\t\tgetString(\"_UI_"; 104 protected final String TEXT_87 = "_type\") :"; 105 protected final String TEXT_88 = NL + "\t\t\tgetString(\"_UI_"; 106 protected final String TEXT_89 = "_type\") + \" \" + label;"; 107 protected final String TEXT_90 = NL + "\t\treturn getString(\"_UI_"; 108 protected final String TEXT_91 = "_type\");"; 109 protected final String TEXT_92 = NL + "\t}" + NL + "" + NL + "\t/**" + NL + "\t * This handles model notifications by calling {@link #updateChildren} to update any cached" + NL + "\t * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic void notifyChanged(Notification notification)" + NL + "\t{" + NL + "\t\tupdateChildren(notification);"; 110 protected final String TEXT_93 = NL + NL + "\t\tswitch (notification.getFeatureID("; 111 protected final String TEXT_94 = ".class))" + NL + "\t\t{"; 112 protected final String TEXT_95 = NL + "\t\t\tcase "; 113 protected final String TEXT_96 = ":"; 114 protected final String TEXT_97 = NL + "\t\t\t\tfireNotifyChanged(new "; 115 protected final String TEXT_98 = "(notification, notification.getNotifier(), false, true));" + NL + "\t\t\t\treturn;"; 116 protected final String TEXT_99 = NL + "\t\t\tcase "; 117 protected final String TEXT_100 = ":"; 118 protected final String TEXT_101 = NL + "\t\t\t\tfireNotifyChanged(new "; 119 protected final String TEXT_102 = "(notification, notification.getNotifier(), true, false));" + NL + "\t\t\t\treturn;"; 120 protected final String TEXT_103 = NL + "\t\t\tcase "; 121 protected final String TEXT_104 = ":"; 122 protected final String TEXT_105 = NL + "\t\t\t\tfireNotifyChanged(new "; 123 protected final String TEXT_106 = "(notification, notification.getNotifier(), true, true));" + NL + "\t\t\t\treturn;"; 124 protected final String TEXT_107 = NL + "\t\t}"; 125 protected final String TEXT_108 = NL + "\t\tsuper.notifyChanged(notification);" + NL + "\t}" + NL; 126 protected final String TEXT_109 = NL + "\t/**" + NL + "\t * This adds to the collection of {@link org.eclipse.emf.edit.command.CommandParameter}s" + NL + "\t * describing all of the children that can be created under this object." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprotected void collectNewChildDescriptors("; 127 protected final String TEXT_110 = " newChildDescriptors, Object object)" + NL + "\t{" + NL + "\t\tsuper.collectNewChildDescriptors(newChildDescriptors, object);"; 128 protected final String TEXT_111 = NL + NL + "\t\tnewChildDescriptors.add" + NL + "\t\t\t(createChildParameter" + NL + "\t\t\t\t("; 129 protected final String TEXT_112 = ".eINSTANCE.get"; 130 protected final String TEXT_113 = "(),"; 131 protected final String TEXT_114 = NL + "\t\t\t\t "; 132 protected final String TEXT_115 = ".eINSTANCE.create("; 133 protected final String TEXT_116 = ".eINSTANCE.get"; 134 protected final String TEXT_117 = "())));"; 135 protected final String TEXT_118 = NL + "\t\t\t\t "; 136 protected final String TEXT_119 = ".eINSTANCE.create"; 137 protected final String TEXT_120 = "()));"; 138 protected final String TEXT_121 = NL + NL + "\t\tnewChildDescriptors.add" + NL + "\t\t\t(createChildParameter" + NL + "\t\t\t\t("; 139 protected final String TEXT_122 = ".eINSTANCE.get"; 140 protected final String TEXT_123 = "()," + NL + "\t\t\t\t "; 141 protected final String TEXT_124 = ".createEntry" + NL + "\t\t\t\t\t("; 142 protected final String TEXT_125 = ".eINSTANCE.get"; 143 protected final String TEXT_126 = "(),"; 144 protected final String TEXT_127 = NL + "\t\t\t\t\t "; 145 protected final String TEXT_128 = ".eINSTANCE.create("; 146 protected final String TEXT_129 = ".eINSTANCE.get"; 147 protected final String TEXT_130 = "()))));"; 148 protected final String TEXT_131 = NL + "\t\t\t\t\t "; 149 protected final String TEXT_132 = ".eINSTANCE.create"; 150 protected final String TEXT_133 = "())));"; 151 protected final String TEXT_134 = NL + NL + "\t\tnewChildDescriptors.add" + NL + "\t\t\t(createChildParameter" + NL + "\t\t\t\t("; 152 protected final String TEXT_135 = ".eINSTANCE.get"; 153 protected final String TEXT_136 = "()," + NL + "\t\t\t\t "; 154 protected final String TEXT_137 = ".createEntry" + NL + "\t\t\t\t\t("; 155 protected final String TEXT_138 = ".eINSTANCE.get"; 156 protected final String TEXT_139 = "(),"; 157 protected final String TEXT_140 = NL + "\t\t\t\t\t "; 158 protected final String TEXT_141 = ")));"; 159 protected final String TEXT_142 = NL + "\t\t\t\t\t "; 160 protected final String TEXT_143 = ")));"; 161 protected final String TEXT_144 = NL + "\t\t\t\t\t "; 162 protected final String TEXT_145 = ".eINSTANCE.createFromString("; 163 protected final String TEXT_146 = ".eINSTANCE.get"; 164 protected final String TEXT_147 = "(), "; 165 protected final String TEXT_148 = "))));"; 166 protected final String TEXT_149 = " // TODO: ensure this is a valid literal value"; 167 protected final String TEXT_150 = NL + NL + "\t\tnewChildDescriptors.add" + NL + "\t\t\t(createChildParameter" + NL + "\t\t\t\t("; 168 protected final String TEXT_151 = ".eINSTANCE.get"; 169 protected final String TEXT_152 = "(),"; 170 protected final String TEXT_153 = NL + "\t\t\t\t "; 171 protected final String TEXT_154 = ".eINSTANCE.create("; 172 protected final String TEXT_155 = ".eINSTANCE.get"; 173 protected final String TEXT_156 = "())));"; 174 protected final String TEXT_157 = NL + "\t\t\t\t "; 175 protected final String TEXT_158 = ".eINSTANCE.create"; 176 protected final String TEXT_159 = "()));"; 177 protected final String TEXT_160 = NL + NL + "\t\tnewChildDescriptors.add" + NL + "\t\t\t(createChildParameter" + NL + "\t\t\t\t("; 178 protected final String TEXT_161 = ".eINSTANCE.get"; 179 protected final String TEXT_162 = "(),"; 180 protected final String TEXT_163 = NL + "\t\t\t\t "; 181 protected final String TEXT_164 = "));"; 182 protected final String TEXT_165 = NL + "\t\t\t\t "; 183 protected final String TEXT_166 = "));"; 184 protected final String TEXT_167 = NL + "\t\t\t\t "; 185 protected final String TEXT_168 = ".eINSTANCE.createFromString("; 186 protected final String TEXT_169 = ".eINSTANCE.get"; 187 protected final String TEXT_170 = "(), "; 188 protected final String TEXT_171 = ")));"; 189 protected final String TEXT_172 = " // TODO: ensure this is a valid literal value"; 190 protected final String TEXT_173 = NL + "\t}" + NL; 191 protected final String TEXT_174 = NL + "\t/**" + NL + "\t * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic String getCreateChildText(Object owner, Object feature, Object child, "; 192 protected final String TEXT_175 = " selection)" + NL + "\t{" + NL + "\t\tObject childFeature = feature;" + NL + "\t\tObject childObject = child;" + NL; 193 protected final String TEXT_176 = NL + "\t\tif (childFeature instanceof "; 194 protected final String TEXT_177 = " && "; 195 protected final String TEXT_178 = ".isFeatureMap((EStructuralFeature)childFeature))" + NL + "\t\t{" + NL + "\t\t\t"; 196 protected final String TEXT_179 = ".Entry entry = (FeatureMap.Entry)childObject;" + NL + "\t\t\tchildFeature = entry.getEStructuralFeature();" + NL + "\t\t\tchildObject = entry.getValue();" + NL + "\t\t}" + NL; 197 protected final String TEXT_180 = NL + "\t\tboolean qualify ="; 198 protected final String TEXT_181 = NL + "\t\t\tchildFeature == "; 199 protected final String TEXT_182 = ".eINSTANCE.get"; 200 protected final String TEXT_183 = "()"; 201 protected final String TEXT_184 = NL + NL + "\t\tif (qualify)" + NL + "\t\t{" + NL + "\t\t\treturn getString" + NL + "\t\t\t\t(\"_UI_CreateChild_text2\","; 202 protected final String TEXT_185 = NL + "\t\t\t\t new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) });" + NL + "\t\t}" + NL + "\t\treturn super.getCreateChildText(owner, feature, child, selection);" + NL + "\t}" + NL; 203 protected final String TEXT_186 = NL + "\t/**" + NL + "\t * This returns the icon image for {@link org.eclipse.emf.edit.command.CreateChildCommand}." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic Object getCreateChildImage(Object owner, Object feature, Object child, Collection selection)" + NL + "\t{" + NL + "\t\tif (feature instanceof "; 204 protected final String TEXT_187 = " && "; 205 protected final String TEXT_188 = ".isFeatureMap(("; 206 protected final String TEXT_189 = ")feature))" + NL + "\t\t{" + NL + "\t\t\t"; 207 protected final String TEXT_190 = ".Entry entry = ("; 208 protected final String TEXT_191 = ".Entry)child;" + NL + "\t\t\tfeature = entry.getEStructuralFeature();" + NL + "\t\t\tchild = entry.getValue(); " + NL + "\t\t}" + NL + "" + NL + "\t\tif (feature instanceof "; 209 protected final String TEXT_192 = " && child instanceof "; 210 protected final String TEXT_193 = ")" + NL + "\t\t{" + NL + "\t\t\tString name = \"full/obj16/\" + ((EObject)child).eClass().getName();"; 211 protected final String TEXT_194 = NL + NL + "\t\t\ttry" + NL + "\t\t\t{" + NL + "\t\t\t\treturn getResourceLocator().getImage(name);" + NL + "\t\t\t}" + NL + "\t\t\tcatch (Exception e)" + NL + "\t\t\t{" + NL + "\t\t\t\t"; 212 protected final String TEXT_195 = ".INSTANCE.log(e);" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "" + NL + "\t\treturn super.getCreateChildImage(owner, feature, child, selection);" + NL + "\t}" + NL; 213 protected final String TEXT_196 = NL + "\t/**" + NL + "\t * Return the resource locator for this item provider's resources." + NL + "\t * <!-- begin-user-doc -->" + NL + "\t * <!-- end-user-doc -->" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic ResourceLocator getResourceLocator()" + NL + "\t{" + NL + "\t\treturn "; 214 protected final String TEXT_197 = ".INSTANCE;" + NL + "\t}" + NL; 215 protected final String TEXT_198 = NL + "}"; 216 protected final String TEXT_199 = NL; 217 218 public String generate(Object argument) 219 { 220 StringBuffer stringBuffer = new StringBuffer (); 221 222 236 237 GenClass genClass = (GenClass)argument; GenPackage genPackage = genClass.getGenPackage(); GenModel genModel=genPackage.getGenModel(); 238 stringBuffer.append(TEXT_1); 239 stringBuffer.append(TEXT_2); 240 stringBuffer.append("$"); 241 stringBuffer.append(TEXT_3); 242 stringBuffer.append("$"); 243 stringBuffer.append(TEXT_4); 244 stringBuffer.append(genPackage.getProviderPackageName()); 245 stringBuffer.append(TEXT_5); 246 genModel.addImport("org.eclipse.emf.common.notify.AdapterFactory"); 247 genModel.addImport("org.eclipse.emf.common.notify.Notification"); 248 genModel.addImport("org.eclipse.emf.common.util.ResourceLocator"); 249 genModel.addImport("org.eclipse.emf.edit.provider.IEditingDomainItemProvider"); 250 genModel.addImport("org.eclipse.emf.edit.provider.IItemLabelProvider"); 251 genModel.addImport("org.eclipse.emf.edit.provider.IItemPropertySource"); 252 genModel.addImport("org.eclipse.emf.edit.provider.IStructuredItemContentProvider"); 253 genModel.addImport("org.eclipse.emf.edit.provider.ITreeItemContentProvider"); 254 genModel.addImport("java.util.List"); 255 genModel.markImportLocation(stringBuffer); 256 stringBuffer.append(TEXT_6); 257 stringBuffer.append(genClass.getQualifiedInterfaceName()); 258 stringBuffer.append(TEXT_7); 259 stringBuffer.append(genClass.getProviderClassName()); 260 stringBuffer.append(TEXT_8); 261 stringBuffer.append(genClass.getProviderBaseClassName() != null ? genClass.getProviderBaseClassName() : genModel.getImportedName("org.eclipse.emf.edit.provider.ItemProviderAdapter")); 262 stringBuffer.append(TEXT_9); 263 for (Iterator i = genPackage.getProviderSupportedTypes().iterator(); i.hasNext(); ) { 264 stringBuffer.append(TEXT_10); 265 stringBuffer.append(genModel.getImportedName((String )i.next())); 266 if (i.hasNext()){ 267 stringBuffer.append(TEXT_11); 268 } 269 } 270 stringBuffer.append(TEXT_12); 271 if (genModel.getCopyrightText() != null) { 272 stringBuffer.append(TEXT_13); 273 stringBuffer.append(genModel.getImportedName("java.lang.String")); 274 stringBuffer.append(TEXT_14); 275 stringBuffer.append(genModel.getCopyrightText()); 276 stringBuffer.append(TEXT_15); 277 stringBuffer.append(genModel.getNonNLS()); 278 stringBuffer.append(TEXT_16); 279 } 280 stringBuffer.append(TEXT_17); 281 stringBuffer.append(genClass.getProviderClassName()); 282 stringBuffer.append(TEXT_18); 283 for (Iterator i=genClass.getPropertyFeatures().iterator(); i.hasNext();) { GenFeature genFeature = (GenFeature)i.next(); 284 stringBuffer.append(TEXT_19); 285 stringBuffer.append(genFeature.getCapName()); 286 stringBuffer.append(TEXT_20); 287 } 288 stringBuffer.append(TEXT_21); 289 for (Iterator i=genClass.getPropertyFeatures().iterator(); i.hasNext();) { GenFeature genFeature = (GenFeature)i.next(); 290 stringBuffer.append(TEXT_22); 291 stringBuffer.append(genFeature.getFormattedName()); 292 stringBuffer.append(TEXT_23); 293 stringBuffer.append(genFeature.getCapName()); 294 stringBuffer.append(TEXT_24); 295 stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.ComposeableAdapterFactory")); 296 stringBuffer.append(TEXT_25); 297 stringBuffer.append(genFeature.getGenClass().getName()); 298 stringBuffer.append(TEXT_26); 299 stringBuffer.append(genFeature.getName()); 300 stringBuffer.append(TEXT_27); 301 stringBuffer.append(genModel.getNonNLS()); 302 if (genFeature.getPropertyDescription() == null || genFeature.getPropertyDescription().length() == 0) { 303 stringBuffer.append(TEXT_28); 304 stringBuffer.append(genFeature.getGenClass().getName()); 305 stringBuffer.append(TEXT_29); 306 stringBuffer.append(genFeature.getName()); 307 stringBuffer.append(TEXT_30); 308 stringBuffer.append(genFeature.getGenClass().getName()); 309 stringBuffer.append(TEXT_31); 310 stringBuffer.append(genModel.getNonNLS()); 311 stringBuffer.append(genModel.getNonNLS(2)); 312 stringBuffer.append(genModel.getNonNLS(3)); 313 } else { 314 stringBuffer.append(TEXT_32); 315 stringBuffer.append(genFeature.getGenClass().getName()); 316 stringBuffer.append(TEXT_33); 317 stringBuffer.append(genFeature.getName()); 318 stringBuffer.append(TEXT_34); 319 stringBuffer.append(genModel.getNonNLS()); 320 } 321 stringBuffer.append(TEXT_35); 322 stringBuffer.append(genFeature.getGenPackage().getImportedPackageInterfaceName()); 323 stringBuffer.append(TEXT_36); 324 stringBuffer.append(genFeature.getFeatureAccessorName()); 325 stringBuffer.append(TEXT_37); 326 stringBuffer.append(genFeature.getProperty() == GenPropertyKind.EDITABLE_LITERAL ? "true" : "false"); 327 stringBuffer.append(TEXT_38); 328 if (genFeature.isReferenceType()) { 329 stringBuffer.append(TEXT_39); 330 } else { 331 stringBuffer.append(TEXT_40); 332 stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.ItemPropertyDescriptor")); 333 stringBuffer.append(TEXT_41); 334 stringBuffer.append(genFeature.getPropertyImageName()); 335 stringBuffer.append(TEXT_42); 336 } 337 if (genFeature.getPropertyCategory() == null || genFeature.getPropertyCategory().length() == 0) { 338 stringBuffer.append(TEXT_43); 339 } else { 340 stringBuffer.append(TEXT_44); 341 stringBuffer.append(genModel.getPropertyCategoryKey(genFeature.getPropertyCategory())); 342 stringBuffer.append(TEXT_45); 343 stringBuffer.append(genModel.getNonNLS()); 344 } 345 if (genFeature.getPropertyFilterFlags().isEmpty()) { 346 stringBuffer.append(TEXT_46); 347 } else { 348 stringBuffer.append(TEXT_47); 349 for (Iterator j = genFeature.getPropertyFilterFlags().iterator(); j.hasNext();) { String filterFlag = (String )j.next(); 350 if (filterFlag != null && filterFlag.length() > 0) { 351 stringBuffer.append(TEXT_48); 352 stringBuffer.append(filterFlag); 353 stringBuffer.append(TEXT_49); 354 if (j.hasNext()) { 355 stringBuffer.append(TEXT_50); 356 } 357 stringBuffer.append(genModel.getNonNLS()); 358 } 359 } 360 stringBuffer.append(TEXT_51); 361 } 362 stringBuffer.append(TEXT_52); 363 } 364 if (!genClass.getChildrenFeatures().isEmpty()) { 365 stringBuffer.append(TEXT_53); 366 stringBuffer.append(genModel.getImportedName("java.util.Collection")); 367 stringBuffer.append(TEXT_54); 368 for (Iterator i=genClass.getChildrenFeatures().iterator(); i.hasNext();) { GenFeature genFeature = (GenFeature)i.next(); 369 stringBuffer.append(TEXT_55); 370 stringBuffer.append(genFeature.getGenPackage().getImportedPackageInterfaceName()); 371 stringBuffer.append(TEXT_56); 372 stringBuffer.append(genFeature.getFeatureAccessorName()); 373 stringBuffer.append(TEXT_57); 374 } 375 stringBuffer.append(TEXT_58); 376 if (genClass.getChildrenFeatures().size() > 1) { 377 stringBuffer.append(TEXT_59); 378 stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")); 379 stringBuffer.append(TEXT_60); 380 } 381 } 382 if (genClass.isImage()) { 383 stringBuffer.append(TEXT_61); 384 stringBuffer.append(genClass.getName()); 385 stringBuffer.append(TEXT_62); 386 stringBuffer.append(genClass.getName()); 387 stringBuffer.append(TEXT_63); 388 stringBuffer.append(genModel.getNonNLS()); 389 stringBuffer.append(TEXT_64); 390 } 391 stringBuffer.append(TEXT_65); 392 if (genClass.isMapEntry()) { 393 stringBuffer.append(TEXT_66); 394 stringBuffer.append(genClass.getImportedInterfaceName()); 395 stringBuffer.append(TEXT_67); 396 stringBuffer.append(genClass.getSafeUncapName()); 397 stringBuffer.append(TEXT_68); 398 stringBuffer.append(genClass.getImportedInterfaceName()); 399 stringBuffer.append(TEXT_69); 400 stringBuffer.append(genClass.getSafeUncapName()); 401 stringBuffer.append(TEXT_70); 402 stringBuffer.append(genClass.getSafeUncapName()); 403 stringBuffer.append(TEXT_71); 404 stringBuffer.append(genModel.getNonNLS()); 405 stringBuffer.append(genModel.getNonNLS(2)); 406 } else if (genClass.getLabelFeature() != null) { GenFeature labelFeature = genClass.getLabelFeature(); 407 if (labelFeature.isPrimitiveType()) { 408 stringBuffer.append(TEXT_72); 409 stringBuffer.append(genClass.getImportedInterfaceName()); 410 stringBuffer.append(TEXT_73); 411 stringBuffer.append(genClass.getSafeUncapName()); 412 stringBuffer.append(TEXT_74); 413 stringBuffer.append(genClass.getImportedInterfaceName()); 414 stringBuffer.append(TEXT_75); 415 stringBuffer.append(genClass.getName()); 416 stringBuffer.append(TEXT_76); 417 stringBuffer.append(genClass.getSafeUncapName()); 418 stringBuffer.append(TEXT_77); 419 stringBuffer.append(genClass.getLabelFeature().getGetAccessor()); 420 stringBuffer.append(TEXT_78); 421 stringBuffer.append(genModel.getNonNLS()); 422 stringBuffer.append(genModel.getNonNLS(2)); 423 } else { 424 if (labelFeature.isStringType()) { 425 stringBuffer.append(TEXT_79); 426 stringBuffer.append(genClass.getImportedInterfaceName()); 427 stringBuffer.append(TEXT_80); 428 stringBuffer.append(labelFeature.getGetAccessor()); 429 stringBuffer.append(TEXT_81); 430 } else { 431 stringBuffer.append(TEXT_82); 432 stringBuffer.append(labelFeature.getImportedType()); 433 stringBuffer.append(TEXT_83); 434 stringBuffer.append(genClass.getImportedInterfaceName()); 435 stringBuffer.append(TEXT_84); 436 stringBuffer.append(labelFeature.getGetAccessor()); 437 stringBuffer.append(TEXT_85); 438 } 439 stringBuffer.append(TEXT_86); 440 stringBuffer.append(genClass.getName()); 441 stringBuffer.append(TEXT_87); 442 stringBuffer.append(genModel.getNonNLS()); 443 stringBuffer.append(TEXT_88); 444 stringBuffer.append(genClass.getName()); 445 stringBuffer.append(TEXT_89); 446 stringBuffer.append(genModel.getNonNLS()); 447 stringBuffer.append(genModel.getNonNLS(2)); 448 } 449 } else { 450 stringBuffer.append(TEXT_90); 451 stringBuffer.append(genClass.getName()); 452 stringBuffer.append(TEXT_91); 453 stringBuffer.append(genModel.getNonNLS()); 454 } 455 stringBuffer.append(TEXT_92); 456 if (!genClass.getLabelNotifyFeatures().isEmpty() || !genClass.getContentNotifyFeatures().isEmpty() || !genClass.getLabelAndContentNotifyFeatures().isEmpty()) { 457 stringBuffer.append(TEXT_93); 458 stringBuffer.append(genClass.getImportedInterfaceName()); 459 stringBuffer.append(TEXT_94); 460 if (!genClass.getLabelNotifyFeatures().isEmpty()) { 461 for (Iterator i=genClass.getLabelNotifyFeatures().iterator(); i.hasNext();) { GenFeature genFeature = (GenFeature)i.next(); 462 stringBuffer.append(TEXT_95); 463 stringBuffer.append(genClass.getQualifiedFeatureID(genFeature)); 464 stringBuffer.append(TEXT_96); 465 } 466 stringBuffer.append(TEXT_97); 467 stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.ViewerNotification")); 468 stringBuffer.append(TEXT_98); 469 } 470 if (!genClass.getContentNotifyFeatures().isEmpty()) { 471 for (Iterator i=genClass.getContentNotifyFeatures().iterator(); i.hasNext();) { GenFeature genFeature = (GenFeature)i.next(); 472 stringBuffer.append(TEXT_99); 473 stringBuffer.append(genClass.getQualifiedFeatureID(genFeature)); 474 stringBuffer.append(TEXT_100); 475 } 476 stringBuffer.append(TEXT_101); 477 stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.ViewerNotification")); 478 stringBuffer.append(TEXT_102); 479 } 480 if (!genClass.getLabelAndContentNotifyFeatures().isEmpty()) { 481 for (Iterator i=genClass.getLabelAndContentNotifyFeatures().iterator(); i.hasNext();) { GenFeature genFeature = (GenFeature)i.next(); 482 stringBuffer.append(TEXT_103); 483 stringBuffer.append(genClass.getQualifiedFeatureID(genFeature)); 484 stringBuffer.append(TEXT_104); 485 } 486 stringBuffer.append(TEXT_105); 487 stringBuffer.append(genModel.getImportedName("org.eclipse.emf.edit.provider.ViewerNotification")); 488 stringBuffer.append(TEXT_106); 489 } 490 stringBuffer.append(TEXT_107); 491 } 492 stringBuffer.append(TEXT_108); 493 if (genModel.isCreationCommands()) { 494 stringBuffer.append(TEXT_109); 495 stringBuffer.append(genModel.getImportedName("java.util.Collection")); 496 stringBuffer.append(TEXT_110); 497 for (Iterator i=genClass.getCrossPackageCreateChildFeatures().iterator(); i.hasNext();) { GenFeature createFeature = (GenFeature)i.next(); 498 for (Iterator c=genClass.getCrossPackageChildrenClasses(createFeature).iterator(); c.hasNext();) { GenClass createClass = (GenClass)c.next(); 499 stringBuffer.append(TEXT_111); 500 stringBuffer.append(createFeature.getGenPackage().getImportedPackageInterfaceName()); 501 stringBuffer.append(TEXT_112); 502 stringBuffer.append(createFeature.getFeatureAccessorName()); 503 stringBuffer.append(TEXT_113); 504 if (createClass.isMapEntry()) { 505 stringBuffer.append(TEXT_114); 506 stringBuffer.append(createClass.getGenPackage().getImportedFactoryInterfaceName()); 507 stringBuffer.append(TEXT_115); 508 stringBuffer.append(createClass.getGenPackage().getImportedPackageInterfaceName()); 509 stringBuffer.append(TEXT_116); 510 stringBuffer.append(createClass.getName()); 511 stringBuffer.append(TEXT_117); 512 } else { 513 stringBuffer.append(TEXT_118); 514 stringBuffer.append(createClass.getGenPackage().getImportedFactoryInterfaceName()); 515 stringBuffer.append(TEXT_119); 516 stringBuffer.append(createClass.getName()); 517 stringBuffer.append(TEXT_120); 518 } 519 } 520 } 521 for (Iterator i=genClass.getCreateChildFeatures().iterator(); i.hasNext();) { GenFeature createFeature = (GenFeature)i.next(); 522 if (createFeature.isFeatureMapType()) { 523 for (Iterator d=createFeature.getDelegatedFeatures().iterator(); d.hasNext();) { GenFeature delegatedFeature = (GenFeature)d.next(); 524 if (delegatedFeature.isReferenceType()) { 525 for (Iterator c=genClass.getChildrenClasses(delegatedFeature).iterator(); c.hasNext();) { GenClass createClass = (GenClass)c.next(); 526 stringBuffer.append(TEXT_121); 527 stringBuffer.append(createFeature.getGenPackage().getImportedPackageInterfaceName()); 528 stringBuffer.append(TEXT_122); 529 stringBuffer.append(createFeature.getFeatureAccessorName()); 530 stringBuffer.append(TEXT_123); 531 stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMapUtil")); 532 stringBuffer.append(TEXT_124); 533 stringBuffer.append(delegatedFeature.getGenPackage().getImportedPackageInterfaceName()); 534 stringBuffer.append(TEXT_125); 535 stringBuffer.append(delegatedFeature.getFeatureAccessorName()); 536 stringBuffer.append(TEXT_126); 537 if (createClass.isMapEntry()) { 538 stringBuffer.append(TEXT_127); 539 stringBuffer.append(createClass.getGenPackage().getImportedFactoryInterfaceName()); 540 stringBuffer.append(TEXT_128); 541 stringBuffer.append(createClass.getGenPackage().getImportedPackageInterfaceName()); 542 stringBuffer.append(TEXT_129); 543 stringBuffer.append(createClass.getName()); 544 stringBuffer.append(TEXT_130); 545 } else { 546 stringBuffer.append(TEXT_131); 547 stringBuffer.append(createClass.getGenPackage().getImportedFactoryInterfaceName()); 548 stringBuffer.append(TEXT_132); 549 stringBuffer.append(createClass.getName()); 550 stringBuffer.append(TEXT_133); 551 } 552 } 553 } else { 554 stringBuffer.append(TEXT_134); 555 stringBuffer.append(createFeature.getGenPackage().getImportedPackageInterfaceName()); 556 stringBuffer.append(TEXT_135); 557 stringBuffer.append(createFeature.getFeatureAccessorName()); 558 stringBuffer.append(TEXT_136); 559 stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMapUtil")); 560 stringBuffer.append(TEXT_137); 561 stringBuffer.append(delegatedFeature.getGenPackage().getImportedPackageInterfaceName()); 562 stringBuffer.append(TEXT_138); 563 stringBuffer.append(delegatedFeature.getFeatureAccessorName()); 564 stringBuffer.append(TEXT_139); 565 if (delegatedFeature.isEnumBasedType()) { 566 stringBuffer.append(TEXT_140); 567 stringBuffer.append(delegatedFeature.getTypeGenEnum().getStaticValue(delegatedFeature.getEcoreFeature().getDefaultValueLiteral())); 568 stringBuffer.append(TEXT_141); 569 } else if (delegatedFeature.isStringBasedType()) { 570 stringBuffer.append(TEXT_142); 571 stringBuffer.append(delegatedFeature.getCreateChildValueLiteral()); 572 stringBuffer.append(TEXT_143); 573 stringBuffer.append(genModel.getNonNLS()); 574 } else { String literal = delegatedFeature.getCreateChildValueLiteral(); GenDataType createDataType = delegatedFeature.getTypeGenDataType(); 575 stringBuffer.append(TEXT_144); 576 stringBuffer.append(createDataType.getGenPackage().getImportedFactoryInterfaceName()); 577 stringBuffer.append(TEXT_145); 578 stringBuffer.append(createDataType.getGenPackage().getImportedPackageInterfaceName()); 579 stringBuffer.append(TEXT_146); 580 stringBuffer.append(createDataType.getClassifierAccessorName()); 581 stringBuffer.append(TEXT_147); 582 stringBuffer.append(literal); 583 stringBuffer.append(TEXT_148); 584 if (literal != null) { 585 stringBuffer.append(genModel.getNonNLS()); 586 } else { 587 stringBuffer.append(TEXT_149); 588 } 589 } 590 } 591 } 592 } else if (createFeature.isReferenceType()) { 593 for (Iterator c=genClass.getChildrenClasses(createFeature).iterator(); c.hasNext();) { GenClass createClass = (GenClass)c.next(); 594 stringBuffer.append(TEXT_150); 595 stringBuffer.append(createFeature.getGenPackage().getImportedPackageInterfaceName()); 596 stringBuffer.append(TEXT_151); 597 stringBuffer.append(createFeature.getFeatureAccessorName()); 598 stringBuffer.append(TEXT_152); 599 if (createClass.isMapEntry()) { 600 stringBuffer.append(TEXT_153); 601 stringBuffer.append(createClass.getGenPackage().getImportedFactoryInterfaceName()); 602 stringBuffer.append(TEXT_154); 603 stringBuffer.append(createClass.getGenPackage().getImportedPackageInterfaceName()); 604 stringBuffer.append(TEXT_155); 605 stringBuffer.append(createClass.getName()); 606 stringBuffer.append(TEXT_156); 607 } else { 608 stringBuffer.append(TEXT_157); 609 stringBuffer.append(createClass.getGenPackage().getImportedFactoryInterfaceName()); 610 stringBuffer.append(TEXT_158); 611 stringBuffer.append(createClass.getName()); 612 stringBuffer.append(TEXT_159); 613 } 614 } 615 } else { 616 stringBuffer.append(TEXT_160); 617 stringBuffer.append(createFeature.getGenPackage().getImportedPackageInterfaceName()); 618 stringBuffer.append(TEXT_161); 619 stringBuffer.append(createFeature.getFeatureAccessorName()); 620 stringBuffer.append(TEXT_162); 621 if (createFeature.isEnumBasedType()) { 622 stringBuffer.append(TEXT_163); 623 stringBuffer.append(createFeature.getTypeGenEnum().getStaticValue(createFeature.getEcoreFeature().getDefaultValueLiteral())); 624 stringBuffer.append(TEXT_164); 625 } else if (createFeature.isStringBasedType()) { 626 stringBuffer.append(TEXT_165); 627 stringBuffer.append(createFeature.getCreateChildValueLiteral()); 628 stringBuffer.append(TEXT_166); 629 stringBuffer.append(genModel.getNonNLS()); 630 } else { String literal = createFeature.getCreateChildValueLiteral(); GenDataType createDataType = createFeature.getTypeGenDataType(); 631 stringBuffer.append(TEXT_167); 632 stringBuffer.append(createDataType.getGenPackage().getImportedFactoryInterfaceName()); 633 stringBuffer.append(TEXT_168); 634 stringBuffer.append(createDataType.getGenPackage().getImportedPackageInterfaceName()); 635 stringBuffer.append(TEXT_169); 636 stringBuffer.append(createDataType.getClassifierAccessorName()); 637 stringBuffer.append(TEXT_170); 638 stringBuffer.append(literal); 639 stringBuffer.append(TEXT_171); 640 if (literal != null) { 641 stringBuffer.append(genModel.getNonNLS()); 642 } else { 643 stringBuffer.append(TEXT_172); 644 } 645 } 646 } 647 } 648 stringBuffer.append(TEXT_173); 649 if (!genClass.getSharedClassCreateChildFeatures().isEmpty()) { 650 stringBuffer.append(TEXT_174); 651 stringBuffer.append(genModel.getImportedName("java.util.Collection")); 652 stringBuffer.append(TEXT_175); 653 if (genClass.hasFeatureMapCreateChildFeatures()) { 654 stringBuffer.append(TEXT_176); 655 stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")); 656 stringBuffer.append(TEXT_177); 657 stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMapUtil")); 658 stringBuffer.append(TEXT_178); 659 stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")); 660 stringBuffer.append(TEXT_179); 661 } 662 stringBuffer.append(TEXT_180); 663 for (Iterator i = genClass.getSharedClassCreateChildFeatures().iterator(); i.hasNext();) { GenFeature createFeature = (GenFeature)i.next(); 664 stringBuffer.append(TEXT_181); 665 stringBuffer.append(createFeature.getGenPackage().getImportedPackageInterfaceName()); 666 stringBuffer.append(TEXT_182); 667 stringBuffer.append(createFeature.getFeatureAccessorName()); 668 stringBuffer.append(TEXT_183); 669 stringBuffer.append(i.hasNext() ? " ||" : ";"); 670 } 671 stringBuffer.append(TEXT_184); 672 stringBuffer.append(genModel.getNonNLS()); 673 stringBuffer.append(TEXT_185); 674 } 675 if (!genModel.isCreationIcons() && genClass.isModelRoot()) { 676 stringBuffer.append(TEXT_186); 677 stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")); 678 stringBuffer.append(TEXT_187); 679 stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMapUtil")); 680 stringBuffer.append(TEXT_188); 681 stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EStructuralFeature")); 682 stringBuffer.append(TEXT_189); 683 stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")); 684 stringBuffer.append(TEXT_190); 685 stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.util.FeatureMap")); 686 stringBuffer.append(TEXT_191); 687 stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EReference")); 688 stringBuffer.append(TEXT_192); 689 stringBuffer.append(genModel.getImportedName("org.eclipse.emf.ecore.EObject")); 690 stringBuffer.append(TEXT_193); 691 stringBuffer.append(genModel.getNonNLS()); 692 stringBuffer.append(TEXT_194); 693 stringBuffer.append(genClass.getGenPackage().getImportedEditPluginClassName()); 694 stringBuffer.append(TEXT_195); 695 } 696 } 697 stringBuffer.append(TEXT_196); 698 stringBuffer.append(genPackage.getImportedEditPluginClassName()); 699 stringBuffer.append(TEXT_197); 700 stringBuffer.append(TEXT_198); 701 genModel.emitSortedImports(); 702 stringBuffer.append(TEXT_199); 703 return stringBuffer.toString(); 704 } 705 } 706 | Popular Tags |