001    /**
002     * <copyright>
003     * </copyright>
004     *
005     * $Id$
006     */
007    package com.hammurapi.config.impl;
008    
009    import java.io.File;
010    import java.net.URL;
011    
012    import org.eclipse.emf.ecore.EAttribute;
013    import org.eclipse.emf.ecore.EClass;
014    import org.eclipse.emf.ecore.EDataType;
015    import org.eclipse.emf.ecore.EGenericType;
016    import org.eclipse.emf.ecore.EOperation;
017    import org.eclipse.emf.ecore.EPackage;
018    import org.eclipse.emf.ecore.EReference;
019    import org.eclipse.emf.ecore.ETypeParameter;
020    import org.eclipse.emf.ecore.impl.EPackageImpl;
021    
022    import com.hammurapi.config.Collection;
023    import com.hammurapi.config.ConfigFactory;
024    import com.hammurapi.config.ConfigPackage;
025    import com.hammurapi.config.Constructor;
026    import com.hammurapi.config.Factory;
027    import com.hammurapi.config.Map;
028    import com.hammurapi.config.MapEntry;
029    import com.hammurapi.config.MethodCall;
030    import com.hammurapi.config.Named;
031    import com.hammurapi.config.NamedCollection;
032    import com.hammurapi.config.NamedMap;
033    import com.hammurapi.config.NamedObjectDefinition;
034    import com.hammurapi.config.NamedReference;
035    import com.hammurapi.config.NamedScript;
036    import com.hammurapi.config.Null;
037    import com.hammurapi.config.ObjectDefinition;
038    import com.hammurapi.config.Path;
039    import com.hammurapi.config.Profile;
040    import com.hammurapi.config.PropertySource;
041    import com.hammurapi.config.Reference;
042    import com.hammurapi.config.Script;
043    import com.hammurapi.config.Source;
044    import com.hammurapi.config.bootstrap.ConfigurationException;
045    import com.hammurapi.config.bootstrap.FactoryClosure;
046    import com.hammurapi.config.bootstrap.TokenExpander.TokenSource;
047    import com.hammurapi.config.runtime.FactoryConfig;
048    import com.hammurapi.config.runtime.InjectionConfig;
049    import com.hammurapi.party.PartyPackage;
050    
051    /**
052     * <!-- begin-user-doc -->
053     * An implementation of the model <b>Package</b>.
054     * <!-- end-user-doc -->
055     * @generated
056     */
057    public class ConfigPackageImpl extends EPackageImpl implements ConfigPackage {
058            /**
059             * <!-- begin-user-doc -->
060             * <!-- end-user-doc -->
061             * @generated
062             */
063            private EClass pathEClass = null;
064    
065            /**
066             * <!-- begin-user-doc -->
067             * <!-- end-user-doc -->
068             * @generated
069             */
070            private EClass factoryEClass = null;
071    
072            /**
073             * <!-- begin-user-doc -->
074             * <!-- end-user-doc -->
075             * @generated
076             */
077            private EClass profileEClass = null;
078    
079            /**
080             * <!-- begin-user-doc -->
081             * <!-- end-user-doc -->
082             * @generated
083             */
084            private EClass objectDefinitionEClass = null;
085    
086            /**
087             * <!-- begin-user-doc -->
088             * <!-- end-user-doc -->
089             * @generated
090             */
091            private EClass collectionEClass = null;
092    
093            /**
094             * <!-- begin-user-doc -->
095             * <!-- end-user-doc -->
096             * @generated
097             */
098            private EClass constructorEClass = null;
099    
100            /**
101             * <!-- begin-user-doc -->
102             * <!-- end-user-doc -->
103             * @generated
104             */
105            private EClass mapEClass = null;
106    
107            /**
108             * <!-- begin-user-doc -->
109             * <!-- end-user-doc -->
110             * @generated
111             */
112            private EClass mapEntryEClass = null;
113    
114            /**
115             * <!-- begin-user-doc -->
116             * <!-- end-user-doc -->
117             * @generated
118             */
119            private EClass referenceEClass = null;
120    
121            /**
122             * <!-- begin-user-doc -->
123             * <!-- end-user-doc -->
124             * @generated
125             */
126            private EClass propertySourceEClass = null;
127    
128            /**
129             * <!-- begin-user-doc -->
130             * <!-- end-user-doc -->
131             * @generated
132             */
133            private EClass nullEClass = null;
134    
135            /**
136             * <!-- begin-user-doc -->
137             * <!-- end-user-doc -->
138             * @generated
139             */
140            private EClass scriptEClass = null;
141    
142            /**
143             * <!-- begin-user-doc -->
144             * <!-- end-user-doc -->
145             * @generated
146             */
147            private EClass namedReferenceEClass = null;
148    
149            /**
150             * <!-- begin-user-doc -->
151             * <!-- end-user-doc -->
152             * @generated
153             */
154            private EClass namedObjectDefinitionEClass = null;
155    
156            /**
157             * <!-- begin-user-doc -->
158             * <!-- end-user-doc -->
159             * @generated
160             */
161            private EClass namedCollectionEClass = null;
162    
163            /**
164             * <!-- begin-user-doc -->
165             * <!-- end-user-doc -->
166             * @generated
167             */
168            private EClass namedMapEClass = null;
169    
170            /**
171             * <!-- begin-user-doc -->
172             * <!-- end-user-doc -->
173             * @generated
174             */
175            private EClass namedEClass = null;
176    
177            /**
178             * <!-- begin-user-doc -->
179             * <!-- end-user-doc -->
180             * @generated
181             */
182            private EClass methodCallEClass = null;
183    
184            /**
185             * <!-- begin-user-doc -->
186             * <!-- end-user-doc -->
187             * @generated
188             */
189            private EClass namedScriptEClass = null;
190    
191            /**
192             * <!-- begin-user-doc -->
193             * <!-- end-user-doc -->
194             * @generated
195             */
196            private EClass sourceEClass = null;
197    
198            /**
199             * <!-- begin-user-doc -->
200             * <!-- end-user-doc -->
201             * @generated
202             */
203            private EDataType eFactoryClosureEDataType = null;
204    
205            /**
206             * <!-- begin-user-doc -->
207             * <!-- end-user-doc -->
208             * @generated
209             */
210            private EDataType eConfigurationExceptionEDataType = null;
211    
212            /**
213             * <!-- begin-user-doc -->
214             * <!-- end-user-doc -->
215             * @generated
216             */
217            private EDataType eFactoryConfigEDataType = null;
218    
219            /**
220             * <!-- begin-user-doc -->
221             * <!-- end-user-doc -->
222             * @generated
223             */
224            private EDataType eUrlEDataType = null;
225    
226            /**
227             * <!-- begin-user-doc -->
228             * <!-- end-user-doc -->
229             * @generated
230             */
231            private EDataType eClassLoaderEDataType = null;
232    
233            /**
234             * <!-- begin-user-doc -->
235             * <!-- end-user-doc -->
236             * @generated
237             */
238            private EDataType eTokenSourceEDataType = null;
239    
240            /**
241             * <!-- begin-user-doc -->
242             * <!-- end-user-doc -->
243             * @generated
244             */
245            private EDataType fileEDataType = null;
246    
247            /**
248             * <!-- begin-user-doc -->
249             * <!-- end-user-doc -->
250             * @generated
251             */
252            private EDataType injectionConfigEDataType = null;
253    
254            /**
255             * Creates an instance of the model <b>Package</b>, registered with
256             * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
257             * package URI value.
258             * <p>Note: the correct way to create the package is via the static
259             * factory method {@link #init init()}, which also performs
260             * initialization of the package, or returns the registered package,
261             * if one already exists.
262             * <!-- begin-user-doc -->
263             * <!-- end-user-doc -->
264             * @see org.eclipse.emf.ecore.EPackage.Registry
265             * @see com.hammurapi.config.ConfigPackage#eNS_URI
266             * @see #init()
267             * @generated
268             */
269            private ConfigPackageImpl() {
270                    super(eNS_URI, ConfigFactory.eINSTANCE);
271            }
272    
273            /**
274             * <!-- begin-user-doc -->
275             * <!-- end-user-doc -->
276             * @generated
277             */
278            private static boolean isInited = false;
279    
280            /**
281             * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
282             * 
283             * <p>This method is used to initialize {@link ConfigPackage#eINSTANCE} when that field is accessed.
284             * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
285             * <!-- begin-user-doc -->
286             * <!-- end-user-doc -->
287             * @see #eNS_URI
288             * @see #createPackageContents()
289             * @see #initializePackageContents()
290             * @generated
291             */
292            public static ConfigPackage init() {
293                    if (isInited) return (ConfigPackage)EPackage.Registry.INSTANCE.getEPackage(ConfigPackage.eNS_URI);
294    
295                    // Obtain or create and register package
296                    ConfigPackageImpl theConfigPackage = (ConfigPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ConfigPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new ConfigPackageImpl());
297    
298                    isInited = true;
299    
300                    // Initialize simple dependencies
301                    PartyPackage.eINSTANCE.eClass();
302    
303                    // Create package meta-data objects
304                    theConfigPackage.createPackageContents();
305    
306                    // Initialize created meta-data
307                    theConfigPackage.initializePackageContents();
308    
309                    // Mark meta-data to indicate it can't be changed
310                    theConfigPackage.freeze();
311    
312      
313                    // Update the registry and return the package
314                    EPackage.Registry.INSTANCE.put(ConfigPackage.eNS_URI, theConfigPackage);
315                    return theConfigPackage;
316            }
317    
318            /**
319             * <!-- begin-user-doc -->
320             * <!-- end-user-doc -->
321             * @generated
322             */
323            public EClass getPath() {
324                    return pathEClass;
325            }
326    
327            /**
328             * <!-- begin-user-doc -->
329             * <!-- end-user-doc -->
330             * @generated
331             */
332            public EAttribute getPath_PathElement() {
333                    return (EAttribute)pathEClass.getEStructuralFeatures().get(0);
334            }
335    
336            /**
337             * <!-- begin-user-doc -->
338             * <!-- end-user-doc -->
339             * @generated
340             */
341            public EReference getPath_Path() {
342                    return (EReference)pathEClass.getEStructuralFeatures().get(1);
343            }
344    
345            /**
346             * <!-- begin-user-doc -->
347             * <!-- end-user-doc -->
348             * @generated
349             */
350            public EAttribute getPath_BaseUrl() {
351                    return (EAttribute)pathEClass.getEStructuralFeatures().get(2);
352            }
353    
354            /**
355             * <!-- begin-user-doc -->
356             * <!-- end-user-doc -->
357             * @generated
358             */
359            public EClass getFactory() {
360                    return factoryEClass;
361            }
362    
363            /**
364             * <!-- begin-user-doc -->
365             * <!-- end-user-doc -->
366             * @generated
367             */
368            public EAttribute getFactory_Description() {
369                    return (EAttribute)factoryEClass.getEStructuralFeatures().get(0);
370            }
371    
372            /**
373             * <!-- begin-user-doc -->
374             * <!-- end-user-doc -->
375             * @generated
376             */
377            public EAttribute getFactory_ConfigScript() {
378                    return (EAttribute)factoryEClass.getEStructuralFeatures().get(1);
379            }
380    
381            /**
382             * <!-- begin-user-doc -->
383             * <!-- end-user-doc -->
384             * @generated
385             */
386            public EAttribute getFactory_Id() {
387                    return (EAttribute)factoryEClass.getEStructuralFeatures().get(2);
388            }
389    
390            /**
391             * <!-- begin-user-doc -->
392             * <!-- end-user-doc -->
393             * @generated
394             */
395            public EReference getFactory_Source() {
396                    return (EReference)factoryEClass.getEStructuralFeatures().get(3);
397            }
398    
399            /**
400             * <!-- begin-user-doc -->
401             * <!-- end-user-doc -->
402             * @generated
403             */
404            public EAttribute getFactory_Enabled() {
405                    return (EAttribute)factoryEClass.getEStructuralFeatures().get(4);
406            }
407    
408            /**
409             * <!-- begin-user-doc -->
410             * <!-- end-user-doc -->
411             * @generated
412             */
413            public EAttribute getFactory_Service() {
414                    return (EAttribute)factoryEClass.getEStructuralFeatures().get(5);
415            }
416    
417            /**
418             * <!-- begin-user-doc -->
419             * <!-- end-user-doc -->
420             * @generated
421             */
422            public EAttribute getFactory_SupportedExecutionEnvironments() {
423                    return (EAttribute)factoryEClass.getEStructuralFeatures().get(6);
424            }
425    
426            /**
427             * <!-- begin-user-doc -->
428             * <!-- end-user-doc -->
429             * @generated
430             */
431            public EAttribute getFactory_HomePage() {
432                    return (EAttribute)factoryEClass.getEStructuralFeatures().get(7);
433            }
434    
435            /**
436             * <!-- begin-user-doc -->
437             * <!-- end-user-doc -->
438             * @generated
439             */
440            public EClass getProfile() {
441                    return profileEClass;
442            }
443    
444            /**
445             * <!-- begin-user-doc -->
446             * <!-- end-user-doc -->
447             * @generated
448             */
449            public EAttribute getProfile_Name() {
450                    return (EAttribute)profileEClass.getEStructuralFeatures().get(0);
451            }
452    
453            /**
454             * <!-- begin-user-doc -->
455             * <!-- end-user-doc -->
456             * @generated
457             */
458            public EAttribute getProfile_Description() {
459                    return (EAttribute)profileEClass.getEStructuralFeatures().get(1);
460            }
461    
462            /**
463             * <!-- begin-user-doc -->
464             * <!-- end-user-doc -->
465             * @generated
466             */
467            public EReference getProfile_Owner() {
468                    return (EReference)profileEClass.getEStructuralFeatures().get(2);
469            }
470    
471            /**
472             * <!-- begin-user-doc -->
473             * <!-- end-user-doc -->
474             * @generated
475             */
476            public EClass getObjectDefinition() {
477                    return objectDefinitionEClass;
478            }
479    
480            /**
481             * <!-- begin-user-doc -->
482             * <!-- end-user-doc -->
483             * @generated
484             */
485            public EReference getObjectDefinition_Constructor() {
486                    return (EReference)objectDefinitionEClass.getEStructuralFeatures().get(0);
487            }
488    
489            /**
490             * <!-- begin-user-doc -->
491             * <!-- end-user-doc -->
492             * @generated
493             */
494            public EAttribute getObjectDefinition_Value() {
495                    return (EAttribute)objectDefinitionEClass.getEStructuralFeatures().get(1);
496            }
497    
498            /**
499             * <!-- begin-user-doc -->
500             * <!-- end-user-doc -->
501             * @generated
502             */
503            public EAttribute getObjectDefinition_Type() {
504                    return (EAttribute)objectDefinitionEClass.getEStructuralFeatures().get(2);
505            }
506    
507            /**
508             * <!-- begin-user-doc -->
509             * <!-- end-user-doc -->
510             * @generated
511             */
512            public EClass getCollection() {
513                    return collectionEClass;
514            }
515    
516            /**
517             * <!-- begin-user-doc -->
518             * <!-- end-user-doc -->
519             * @generated
520             */
521            public EReference getCollection_Element() {
522                    return (EReference)collectionEClass.getEStructuralFeatures().get(0);
523            }
524    
525            /**
526             * <!-- begin-user-doc -->
527             * <!-- end-user-doc -->
528             * @generated
529             */
530            public EAttribute getCollection_Type() {
531                    return (EAttribute)collectionEClass.getEStructuralFeatures().get(1);
532            }
533    
534            /**
535             * <!-- begin-user-doc -->
536             * <!-- end-user-doc -->
537             * @generated
538             */
539            public EAttribute getCollection_FactoryCollection() {
540                    return (EAttribute)collectionEClass.getEStructuralFeatures().get(2);
541            }
542    
543            /**
544             * <!-- begin-user-doc -->
545             * <!-- end-user-doc -->
546             * @generated
547             */
548            public EClass getConstructor() {
549                    return constructorEClass;
550            }
551    
552            /**
553             * <!-- begin-user-doc -->
554             * <!-- end-user-doc -->
555             * @generated
556             */
557            public EReference getConstructor_Argument() {
558                    return (EReference)constructorEClass.getEStructuralFeatures().get(0);
559            }
560    
561            /**
562             * <!-- begin-user-doc -->
563             * <!-- end-user-doc -->
564             * @generated
565             */
566            public EClass getMap() {
567                    return mapEClass;
568            }
569    
570            /**
571             * <!-- begin-user-doc -->
572             * <!-- end-user-doc -->
573             * @generated
574             */
575            public EReference getMap_Entry() {
576                    return (EReference)mapEClass.getEStructuralFeatures().get(0);
577            }
578    
579            /**
580             * <!-- begin-user-doc -->
581             * <!-- end-user-doc -->
582             * @generated
583             */
584            public EAttribute getMap_Type() {
585                    return (EAttribute)mapEClass.getEStructuralFeatures().get(1);
586            }
587    
588            /**
589             * <!-- begin-user-doc -->
590             * <!-- end-user-doc -->
591             * @generated
592             */
593            public EAttribute getMap_FactoryMap() {
594                    return (EAttribute)mapEClass.getEStructuralFeatures().get(2);
595            }
596    
597            /**
598             * <!-- begin-user-doc -->
599             * <!-- end-user-doc -->
600             * @generated
601             */
602            public EClass getMapEntry() {
603                    return mapEntryEClass;
604            }
605    
606            /**
607             * <!-- begin-user-doc -->
608             * <!-- end-user-doc -->
609             * @generated
610             */
611            public EReference getMapEntry_Key() {
612                    return (EReference)mapEntryEClass.getEStructuralFeatures().get(0);
613            }
614    
615            /**
616             * <!-- begin-user-doc -->
617             * <!-- end-user-doc -->
618             * @generated
619             */
620            public EReference getMapEntry_Value() {
621                    return (EReference)mapEntryEClass.getEStructuralFeatures().get(1);
622            }
623    
624            /**
625             * <!-- begin-user-doc -->
626             * <!-- end-user-doc -->
627             * @generated
628             */
629            public EClass getReference() {
630                    return referenceEClass;
631            }
632    
633            /**
634             * <!-- begin-user-doc -->
635             * <!-- end-user-doc -->
636             * @generated
637             */
638            public EAttribute getReference_RefId() {
639                    return (EAttribute)referenceEClass.getEStructuralFeatures().get(0);
640            }
641    
642            /**
643             * <!-- begin-user-doc -->
644             * <!-- end-user-doc -->
645             * @generated
646             */
647            public EReference getReference_Ref() {
648                    return (EReference)referenceEClass.getEStructuralFeatures().get(1);
649            }
650    
651            /**
652             * <!-- begin-user-doc -->
653             * <!-- end-user-doc -->
654             * @generated
655             */
656            public EClass getPropertySource() {
657                    return propertySourceEClass;
658            }
659    
660            /**
661             * <!-- begin-user-doc -->
662             * <!-- end-user-doc -->
663             * @generated
664             */
665            public EReference getPropertySource_Property() {
666                    return (EReference)propertySourceEClass.getEStructuralFeatures().get(0);
667            }
668    
669            /**
670             * <!-- begin-user-doc -->
671             * <!-- end-user-doc -->
672             * @generated
673             */
674            public EReference getPropertySource_Profile() {
675                    return (EReference)propertySourceEClass.getEStructuralFeatures().get(1);
676            }
677    
678            /**
679             * <!-- begin-user-doc -->
680             * <!-- end-user-doc -->
681             * @generated
682             */
683            public EReference getPropertySource_ClassPath() {
684                    return (EReference)propertySourceEClass.getEStructuralFeatures().get(2);
685            }
686    
687            /**
688             * <!-- begin-user-doc -->
689             * <!-- end-user-doc -->
690             * @generated
691             */
692            public EClass getNull() {
693                    return nullEClass;
694            }
695    
696            /**
697             * <!-- begin-user-doc -->
698             * <!-- end-user-doc -->
699             * @generated
700             */
701            public EClass getScript() {
702                    return scriptEClass;
703            }
704    
705            /**
706             * <!-- begin-user-doc -->
707             * <!-- end-user-doc -->
708             * @generated
709             */
710            public EAttribute getScript_Code() {
711                    return (EAttribute)scriptEClass.getEStructuralFeatures().get(0);
712            }
713    
714            /**
715             * <!-- begin-user-doc -->
716             * <!-- end-user-doc -->
717             * @generated
718             */
719            public EClass getNamedReference() {
720                    return namedReferenceEClass;
721            }
722    
723            /**
724             * <!-- begin-user-doc -->
725             * <!-- end-user-doc -->
726             * @generated
727             */
728            public EClass getNamedObjectDefinition() {
729                    return namedObjectDefinitionEClass;
730            }
731    
732            /**
733             * <!-- begin-user-doc -->
734             * <!-- end-user-doc -->
735             * @generated
736             */
737            public EClass getNamedCollection() {
738                    return namedCollectionEClass;
739            }
740    
741            /**
742             * <!-- begin-user-doc -->
743             * <!-- end-user-doc -->
744             * @generated
745             */
746            public EClass getNamedMap() {
747                    return namedMapEClass;
748            }
749    
750            /**
751             * <!-- begin-user-doc -->
752             * <!-- end-user-doc -->
753             * @generated
754             */
755            public EClass getNamed() {
756                    return namedEClass;
757            }
758    
759            /**
760             * <!-- begin-user-doc -->
761             * <!-- end-user-doc -->
762             * @generated
763             */
764            public EAttribute getNamed_Name() {
765                    return (EAttribute)namedEClass.getEStructuralFeatures().get(0);
766            }
767    
768            /**
769             * <!-- begin-user-doc -->
770             * <!-- end-user-doc -->
771             * @generated
772             */
773            public EAttribute getNamed_Runtime() {
774                    return (EAttribute)namedEClass.getEStructuralFeatures().get(1);
775            }
776    
777            /**
778             * <!-- begin-user-doc -->
779             * <!-- end-user-doc -->
780             * @generated
781             */
782            public EClass getMethodCall() {
783                    return methodCallEClass;
784            }
785    
786            /**
787             * <!-- begin-user-doc -->
788             * <!-- end-user-doc -->
789             * @generated
790             */
791            public EReference getMethodCall_Argument() {
792                    return (EReference)methodCallEClass.getEStructuralFeatures().get(0);
793            }
794    
795            /**
796             * <!-- begin-user-doc -->
797             * <!-- end-user-doc -->
798             * @generated
799             */
800            public EClass getNamedScript() {
801                    return namedScriptEClass;
802            }
803    
804            /**
805             * <!-- begin-user-doc -->
806             * <!-- end-user-doc -->
807             * @generated
808             */
809            public EClass getSource() {
810                    return sourceEClass;
811            }
812    
813            /**
814             * <!-- begin-user-doc -->
815             * <!-- end-user-doc -->
816             * @generated
817             */
818            public EAttribute getSource_Type() {
819                    return (EAttribute)sourceEClass.getEStructuralFeatures().get(0);
820            }
821    
822            /**
823             * <!-- begin-user-doc -->
824             * <!-- end-user-doc -->
825             * @generated
826             */
827            public EAttribute getSource_Path() {
828                    return (EAttribute)sourceEClass.getEStructuralFeatures().get(1);
829            }
830    
831            /**
832             * <!-- begin-user-doc -->
833             * <!-- end-user-doc -->
834             * @generated
835             */
836            public EAttribute getSource_Line() {
837                    return (EAttribute)sourceEClass.getEStructuralFeatures().get(2);
838            }
839    
840            /**
841             * <!-- begin-user-doc -->
842             * <!-- end-user-doc -->
843             * @generated
844             */
845            public EAttribute getSource_Col() {
846                    return (EAttribute)sourceEClass.getEStructuralFeatures().get(3);
847            }
848    
849            /**
850             * <!-- begin-user-doc -->
851             * <!-- end-user-doc -->
852             * @generated
853             */
854            public EAttribute getSource_Comment() {
855                    return (EAttribute)sourceEClass.getEStructuralFeatures().get(4);
856            }
857    
858            /**
859             * <!-- begin-user-doc -->
860             * <!-- end-user-doc -->
861             * @generated
862             */
863            public EDataType getEFactoryClosure() {
864                    return eFactoryClosureEDataType;
865            }
866    
867            /**
868             * <!-- begin-user-doc -->
869             * <!-- end-user-doc -->
870             * @generated
871             */
872            public EDataType getEConfigurationException() {
873                    return eConfigurationExceptionEDataType;
874            }
875    
876            /**
877             * <!-- begin-user-doc -->
878             * <!-- end-user-doc -->
879             * @generated
880             */
881            public EDataType getEFactoryConfig() {
882                    return eFactoryConfigEDataType;
883            }
884    
885            /**
886             * <!-- begin-user-doc -->
887             * <!-- end-user-doc -->
888             * @generated
889             */
890            public EDataType getEUrl() {
891                    return eUrlEDataType;
892            }
893    
894            /**
895             * <!-- begin-user-doc -->
896             * <!-- end-user-doc -->
897             * @generated
898             */
899            public EDataType getEClassLoader() {
900                    return eClassLoaderEDataType;
901            }
902    
903            /**
904             * <!-- begin-user-doc -->
905             * <!-- end-user-doc -->
906             * @generated
907             */
908            public EDataType getETokenSource() {
909                    return eTokenSourceEDataType;
910            }
911    
912            /**
913             * <!-- begin-user-doc -->
914             * <!-- end-user-doc -->
915             * @generated
916             */
917            public EDataType getFile() {
918                    return fileEDataType;
919            }
920    
921            /**
922             * <!-- begin-user-doc -->
923             * <!-- end-user-doc -->
924             * @generated
925             */
926            public EDataType getInjectionConfig() {
927                    return injectionConfigEDataType;
928            }
929    
930            /**
931             * <!-- begin-user-doc -->
932             * <!-- end-user-doc -->
933             * @generated
934             */
935            public ConfigFactory getConfigFactory() {
936                    return (ConfigFactory)getEFactoryInstance();
937            }
938    
939            /**
940             * <!-- begin-user-doc -->
941             * <!-- end-user-doc -->
942             * @generated
943             */
944            private boolean isCreated = false;
945    
946            /**
947             * Creates the meta-model objects for the package.  This method is
948             * guarded to have no affect on any invocation but its first.
949             * <!-- begin-user-doc -->
950             * <!-- end-user-doc -->
951             * @generated
952             */
953            public void createPackageContents() {
954                    if (isCreated) return;
955                    isCreated = true;
956    
957                    // Create classes and their features
958                    pathEClass = createEClass(PATH);
959                    createEAttribute(pathEClass, PATH__PATH_ELEMENT);
960                    createEReference(pathEClass, PATH__PATH);
961                    createEAttribute(pathEClass, PATH__BASE_URL);
962    
963                    factoryEClass = createEClass(FACTORY);
964                    createEAttribute(factoryEClass, FACTORY__DESCRIPTION);
965                    createEAttribute(factoryEClass, FACTORY__CONFIG_SCRIPT);
966                    createEAttribute(factoryEClass, FACTORY__ID);
967                    createEReference(factoryEClass, FACTORY__SOURCE);
968                    createEAttribute(factoryEClass, FACTORY__ENABLED);
969                    createEAttribute(factoryEClass, FACTORY__SERVICE);
970                    createEAttribute(factoryEClass, FACTORY__SUPPORTED_EXECUTION_ENVIRONMENTS);
971                    createEAttribute(factoryEClass, FACTORY__HOME_PAGE);
972    
973                    profileEClass = createEClass(PROFILE);
974                    createEAttribute(profileEClass, PROFILE__NAME);
975                    createEAttribute(profileEClass, PROFILE__DESCRIPTION);
976                    createEReference(profileEClass, PROFILE__OWNER);
977    
978                    objectDefinitionEClass = createEClass(OBJECT_DEFINITION);
979                    createEReference(objectDefinitionEClass, OBJECT_DEFINITION__CONSTRUCTOR);
980                    createEAttribute(objectDefinitionEClass, OBJECT_DEFINITION__VALUE);
981                    createEAttribute(objectDefinitionEClass, OBJECT_DEFINITION__TYPE);
982    
983                    collectionEClass = createEClass(COLLECTION);
984                    createEReference(collectionEClass, COLLECTION__ELEMENT);
985                    createEAttribute(collectionEClass, COLLECTION__TYPE);
986                    createEAttribute(collectionEClass, COLLECTION__FACTORY_COLLECTION);
987    
988                    constructorEClass = createEClass(CONSTRUCTOR);
989                    createEReference(constructorEClass, CONSTRUCTOR__ARGUMENT);
990    
991                    mapEClass = createEClass(MAP);
992                    createEReference(mapEClass, MAP__ENTRY);
993                    createEAttribute(mapEClass, MAP__TYPE);
994                    createEAttribute(mapEClass, MAP__FACTORY_MAP);
995    
996                    mapEntryEClass = createEClass(MAP_ENTRY);
997                    createEReference(mapEntryEClass, MAP_ENTRY__KEY);
998                    createEReference(mapEntryEClass, MAP_ENTRY__VALUE);
999    
1000                    referenceEClass = createEClass(REFERENCE);
1001                    createEAttribute(referenceEClass, REFERENCE__REF_ID);
1002                    createEReference(referenceEClass, REFERENCE__REF);
1003    
1004                    propertySourceEClass = createEClass(PROPERTY_SOURCE);
1005                    createEReference(propertySourceEClass, PROPERTY_SOURCE__PROPERTY);
1006                    createEReference(propertySourceEClass, PROPERTY_SOURCE__PROFILE);
1007                    createEReference(propertySourceEClass, PROPERTY_SOURCE__CLASS_PATH);
1008    
1009                    nullEClass = createEClass(NULL);
1010    
1011                    scriptEClass = createEClass(SCRIPT);
1012                    createEAttribute(scriptEClass, SCRIPT__CODE);
1013    
1014                    namedReferenceEClass = createEClass(NAMED_REFERENCE);
1015    
1016                    namedObjectDefinitionEClass = createEClass(NAMED_OBJECT_DEFINITION);
1017    
1018                    namedCollectionEClass = createEClass(NAMED_COLLECTION);
1019    
1020                    namedMapEClass = createEClass(NAMED_MAP);
1021    
1022                    namedEClass = createEClass(NAMED);
1023                    createEAttribute(namedEClass, NAMED__NAME);
1024                    createEAttribute(namedEClass, NAMED__RUNTIME);
1025    
1026                    methodCallEClass = createEClass(METHOD_CALL);
1027                    createEReference(methodCallEClass, METHOD_CALL__ARGUMENT);
1028    
1029                    namedScriptEClass = createEClass(NAMED_SCRIPT);
1030    
1031                    sourceEClass = createEClass(SOURCE);
1032                    createEAttribute(sourceEClass, SOURCE__TYPE);
1033                    createEAttribute(sourceEClass, SOURCE__PATH);
1034                    createEAttribute(sourceEClass, SOURCE__LINE);
1035                    createEAttribute(sourceEClass, SOURCE__COL);
1036                    createEAttribute(sourceEClass, SOURCE__COMMENT);
1037    
1038                    // Create data types
1039                    eFactoryClosureEDataType = createEDataType(EFACTORY_CLOSURE);
1040                    eConfigurationExceptionEDataType = createEDataType(ECONFIGURATION_EXCEPTION);
1041                    eFactoryConfigEDataType = createEDataType(EFACTORY_CONFIG);
1042                    eUrlEDataType = createEDataType(EURL);
1043                    eClassLoaderEDataType = createEDataType(ECLASS_LOADER);
1044                    eTokenSourceEDataType = createEDataType(ETOKEN_SOURCE);
1045                    fileEDataType = createEDataType(FILE);
1046                    injectionConfigEDataType = createEDataType(INJECTION_CONFIG);
1047            }
1048    
1049            /**
1050             * <!-- begin-user-doc -->
1051             * <!-- end-user-doc -->
1052             * @generated
1053             */
1054            private boolean isInitialized = false;
1055    
1056            /**
1057             * Complete the initialization of the package and its meta-model.  This
1058             * method is guarded to have no affect on any invocation but its first.
1059             * <!-- begin-user-doc -->
1060             * <!-- end-user-doc -->
1061             * @generated
1062             */
1063            public void initializePackageContents() {
1064                    if (isInitialized) return;
1065                    isInitialized = true;
1066    
1067                    // Initialize package
1068                    setName(eNAME);
1069                    setNsPrefix(eNS_PREFIX);
1070                    setNsURI(eNS_URI);
1071    
1072                    // Obtain other dependent packages
1073                    PartyPackage thePartyPackage = (PartyPackage)EPackage.Registry.INSTANCE.getEPackage(PartyPackage.eNS_URI);
1074    
1075                    // Create type parameters
1076                    addETypeParameter(eFactoryClosureEDataType, "T");
1077    
1078                    // Set bounds for type parameters
1079    
1080                    // Add supertypes to classes
1081                    factoryEClass.getESuperTypes().add(thePartyPackage.getCommonObject());
1082                    profileEClass.getESuperTypes().add(this.getPropertySource());
1083                    objectDefinitionEClass.getESuperTypes().add(this.getFactory());
1084                    objectDefinitionEClass.getESuperTypes().add(this.getPropertySource());
1085                    collectionEClass.getESuperTypes().add(this.getFactory());
1086                    mapEClass.getESuperTypes().add(this.getFactory());
1087                    referenceEClass.getESuperTypes().add(this.getFactory());
1088                    nullEClass.getESuperTypes().add(this.getFactory());
1089                    scriptEClass.getESuperTypes().add(this.getFactory());
1090                    scriptEClass.getESuperTypes().add(this.getPropertySource());
1091                    namedReferenceEClass.getESuperTypes().add(this.getNamed());
1092                    namedReferenceEClass.getESuperTypes().add(this.getReference());
1093                    namedObjectDefinitionEClass.getESuperTypes().add(this.getNamed());
1094                    namedObjectDefinitionEClass.getESuperTypes().add(this.getObjectDefinition());
1095                    namedCollectionEClass.getESuperTypes().add(this.getNamed());
1096                    namedCollectionEClass.getESuperTypes().add(this.getCollection());
1097                    namedMapEClass.getESuperTypes().add(this.getNamed());
1098                    namedMapEClass.getESuperTypes().add(this.getMap());
1099                    namedEClass.getESuperTypes().add(this.getFactory());
1100                    methodCallEClass.getESuperTypes().add(this.getNamed());
1101                    methodCallEClass.getESuperTypes().add(this.getPropertySource());
1102                    namedScriptEClass.getESuperTypes().add(this.getNamed());
1103                    namedScriptEClass.getESuperTypes().add(this.getScript());
1104    
1105                    // Initialize classes and features; add operations and parameters
1106                    initEClass(pathEClass, Path.class, "Path", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1107                    initEAttribute(getPath_PathElement(), ecorePackage.getEString(), "pathElement", null, 0, -1, Path.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1108                    initEReference(getPath_Path(), this.getPath(), null, "path", null, 0, -1, Path.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1109                    initEAttribute(getPath_BaseUrl(), ecorePackage.getEString(), "baseUrl", null, 0, 1, Path.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1110    
1111                    EOperation op = addEOperation(pathEClass, this.getEUrl(), "getUrls", 0, -1, IS_UNIQUE, IS_ORDERED);
1112                    addEParameter(op, this.getEUrl(), "baseURL", 0, 1, IS_UNIQUE, IS_ORDERED);
1113                    addEParameter(op, this.getETokenSource(), "tokens", 0, 1, IS_UNIQUE, IS_ORDERED);
1114                    addEException(op, this.getEConfigurationException());
1115    
1116                    initEClass(factoryEClass, Factory.class, "Factory", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1117                    initEAttribute(getFactory_Description(), ecorePackage.getEString(), "description", null, 0, 1, Factory.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1118                    initEAttribute(getFactory_ConfigScript(), ecorePackage.getEString(), "configScript", null, 0, 1, Factory.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1119                    initEAttribute(getFactory_Id(), ecorePackage.getEString(), "id", null, 0, 1, Factory.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1120                    initEReference(getFactory_Source(), this.getSource(), null, "source", null, 0, -1, Factory.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1121                    initEAttribute(getFactory_Enabled(), ecorePackage.getEBoolean(), "enabled", "true", 0, 1, Factory.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1122                    initEAttribute(getFactory_Service(), ecorePackage.getEString(), "service", null, 0, -1, Factory.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1123                    initEAttribute(getFactory_SupportedExecutionEnvironments(), ecorePackage.getEString(), "supportedExecutionEnvironments", null, 0, -1, Factory.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1124                    initEAttribute(getFactory_HomePage(), ecorePackage.getEString(), "homePage", null, 0, 1, Factory.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1125    
1126                    op = addEOperation(factoryEClass, null, "create", 0, 1, IS_UNIQUE, IS_ORDERED);
1127                    addEParameter(op, this.getEFactoryConfig(), "factoryConfig", 0, 1, IS_UNIQUE, IS_ORDERED);
1128                    addEException(op, this.getEConfigurationException());
1129                    EGenericType g1 = createEGenericType(this.getEFactoryClosure());
1130                    EGenericType g2 = createEGenericType(ecorePackage.getEJavaObject());
1131                    g1.getETypeArguments().add(g2);
1132                    initEOperation(op, g1);
1133    
1134                    op = addEOperation(factoryEClass, null, "compile", 0, 1, IS_UNIQUE, IS_ORDERED);
1135                    addEParameter(op, ecorePackage.getEString(), "profilePath", 0, -1, IS_UNIQUE, IS_ORDERED);
1136                    addEParameter(op, this.getETokenSource(), "tokens", 0, 1, IS_UNIQUE, IS_ORDERED);
1137                    addEParameter(op, this.getEClassLoader(), "classLoader", 0, 1, IS_UNIQUE, IS_ORDERED);
1138                    addEParameter(op, this.getFile(), "dir", 0, 1, IS_UNIQUE, IS_ORDERED);
1139                    addEParameter(op, ecorePackage.getEString(), "targetPackage", 0, 1, IS_UNIQUE, IS_ORDERED);
1140                    addEParameter(op, ecorePackage.getEString(), "targetClass", 0, 1, IS_UNIQUE, IS_ORDERED);
1141                    addEException(op, this.getEConfigurationException());
1142    
1143                    initEClass(profileEClass, Profile.class, "Profile", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1144                    initEAttribute(getProfile_Name(), ecorePackage.getEString(), "name", null, 1, 1, Profile.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1145                    initEAttribute(getProfile_Description(), ecorePackage.getEString(), "description", null, 0, 1, Profile.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1146                    initEReference(getProfile_Owner(), this.getPropertySource(), this.getPropertySource_Profile(), "owner", null, 0, 1, Profile.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1147    
1148                    initEClass(objectDefinitionEClass, ObjectDefinition.class, "ObjectDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1149                    initEReference(getObjectDefinition_Constructor(), this.getConstructor(), null, "constructor", null, 0, 1, ObjectDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1150                    initEAttribute(getObjectDefinition_Value(), ecorePackage.getEString(), "value", null, 0, 1, ObjectDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1151                    initEAttribute(getObjectDefinition_Type(), ecorePackage.getEString(), "type", null, 0, 1, ObjectDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1152    
1153                    initEClass(collectionEClass, Collection.class, "Collection", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1154                    initEReference(getCollection_Element(), this.getFactory(), null, "element", null, 0, -1, Collection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1155                    initEAttribute(getCollection_Type(), ecorePackage.getEString(), "type", "java.util.ArrayList", 0, 1, Collection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1156                    initEAttribute(getCollection_FactoryCollection(), ecorePackage.getEBoolean(), "factoryCollection", null, 0, 1, Collection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1157    
1158                    initEClass(constructorEClass, Constructor.class, "Constructor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1159                    initEReference(getConstructor_Argument(), this.getFactory(), null, "argument", null, 1, -1, Constructor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1160    
1161                    initEClass(mapEClass, Map.class, "Map", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1162                    initEReference(getMap_Entry(), this.getMapEntry(), null, "entry", null, 0, -1, Map.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1163                    initEAttribute(getMap_Type(), ecorePackage.getEString(), "type", "java.util.HashMap", 0, 1, Map.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1164                    initEAttribute(getMap_FactoryMap(), ecorePackage.getEBoolean(), "factoryMap", null, 0, 1, Map.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1165    
1166                    initEClass(mapEntryEClass, MapEntry.class, "MapEntry", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1167                    initEReference(getMapEntry_Key(), this.getFactory(), null, "key", null, 1, 1, MapEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1168                    initEReference(getMapEntry_Value(), this.getFactory(), null, "value", null, 1, 1, MapEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1169    
1170                    initEClass(referenceEClass, Reference.class, "Reference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1171                    initEAttribute(getReference_RefId(), ecorePackage.getEString(), "refId", null, 0, 1, Reference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1172                    initEReference(getReference_Ref(), this.getFactory(), null, "ref", null, 0, 1, Reference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1173    
1174                    initEClass(propertySourceEClass, PropertySource.class, "PropertySource", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1175                    initEReference(getPropertySource_Property(), this.getNamed(), null, "property", null, 0, -1, PropertySource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1176                    initEReference(getPropertySource_Profile(), this.getProfile(), this.getProfile_Owner(), "profile", null, 0, -1, PropertySource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1177                    initEReference(getPropertySource_ClassPath(), this.getPath(), null, "classPath", null, 0, -1, PropertySource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1178    
1179                    initEClass(nullEClass, Null.class, "Null", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1180    
1181                    initEClass(scriptEClass, Script.class, "Script", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1182                    initEAttribute(getScript_Code(), ecorePackage.getEString(), "code", null, 1, 1, Script.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1183    
1184                    op = addEOperation(scriptEClass, null, "eval", 0, 1, IS_UNIQUE, IS_ORDERED);
1185                    ETypeParameter t1 = addETypeParameter(op, "T");
1186                    g1 = createEGenericType(ecorePackage.getEJavaClass());
1187                    g2 = createEGenericType(t1);
1188                    g1.getETypeArguments().add(g2);
1189                    addEParameter(op, g1, "returnType", 0, 1, IS_UNIQUE, IS_ORDERED);
1190                    addEParameter(op, ecorePackage.getEString(), "parameterNames", 0, -1, IS_UNIQUE, IS_ORDERED);
1191                    g1 = createEGenericType(ecorePackage.getEJavaClass());
1192                    g2 = createEGenericType();
1193                    g1.getETypeArguments().add(g2);
1194                    addEParameter(op, g1, "parameterTypes", 0, -1, IS_UNIQUE, IS_ORDERED);
1195                    addEParameter(op, ecorePackage.getEJavaObject(), "parameters", 0, -1, IS_UNIQUE, IS_ORDERED);
1196                    addEParameter(op, this.getEClassLoader(), "classLoader", 0, 1, IS_UNIQUE, IS_ORDERED);
1197                    addEException(op, this.getEConfigurationException());
1198                    g1 = createEGenericType(t1);
1199                    initEOperation(op, g1);
1200    
1201                    initEClass(namedReferenceEClass, NamedReference.class, "NamedReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1202    
1203                    initEClass(namedObjectDefinitionEClass, NamedObjectDefinition.class, "NamedObjectDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1204    
1205                    initEClass(namedCollectionEClass, NamedCollection.class, "NamedCollection", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1206    
1207                    initEClass(namedMapEClass, NamedMap.class, "NamedMap", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1208    
1209                    initEClass(namedEClass, Named.class, "Named", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1210                    initEAttribute(getNamed_Name(), ecorePackage.getEString(), "name", null, 1, 1, Named.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1211                    initEAttribute(getNamed_Runtime(), ecorePackage.getEBoolean(), "runtime", "true", 1, 1, Named.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1212    
1213                    op = addEOperation(namedEClass, null, "inject", 0, 1, IS_UNIQUE, IS_ORDERED);
1214                    addEParameter(op, this.getInjectionConfig(), "injectionConfig", 0, 1, IS_UNIQUE, IS_ORDERED);
1215                    addEException(op, this.getEConfigurationException());
1216    
1217                    initEClass(methodCallEClass, MethodCall.class, "MethodCall", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1218                    initEReference(getMethodCall_Argument(), this.getFactory(), null, "argument", null, 0, -1, MethodCall.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1219    
1220                    initEClass(namedScriptEClass, NamedScript.class, "NamedScript", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1221    
1222                    initEClass(sourceEClass, Source.class, "Source", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1223                    initEAttribute(getSource_Type(), ecorePackage.getEString(), "type", null, 0, 1, Source.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1224                    initEAttribute(getSource_Path(), ecorePackage.getEString(), "path", null, 0, 1, Source.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1225                    initEAttribute(getSource_Line(), ecorePackage.getEInt(), "line", null, 0, 1, Source.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1226                    initEAttribute(getSource_Col(), ecorePackage.getEInt(), "col", null, 0, 1, Source.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1227                    initEAttribute(getSource_Comment(), ecorePackage.getEString(), "comment", null, 0, 1, Source.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1228    
1229                    // Initialize data types
1230                    initEDataType(eFactoryClosureEDataType, FactoryClosure.class, "EFactoryClosure", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
1231                    initEDataType(eConfigurationExceptionEDataType, ConfigurationException.class, "EConfigurationException", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
1232                    initEDataType(eFactoryConfigEDataType, FactoryConfig.class, "EFactoryConfig", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
1233                    initEDataType(eUrlEDataType, URL.class, "EUrl", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
1234                    initEDataType(eClassLoaderEDataType, ClassLoader.class, "EClassLoader", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
1235                    initEDataType(eTokenSourceEDataType, TokenSource.class, "ETokenSource", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
1236                    initEDataType(fileEDataType, File.class, "File", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
1237                    initEDataType(injectionConfigEDataType, InjectionConfig.class, "InjectionConfig", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
1238    
1239                    // Create resource
1240                    createResource(eNS_URI);
1241            }
1242    
1243    } //ConfigPackageImpl