View Javadoc

1   /**
2    * <copyright>
3    * </copyright>
4    *
5    * $Id$
6    */
7   package BusinessDomainDsl.impl;
8   
9   import BusinessDomainDsl.AbstractBusinessClass;
10  import BusinessDomainDsl.AbstractBusinessRule;
11  import BusinessDomainDsl.AbstractType;
12  import BusinessDomainDsl.Association;
13  import BusinessDomainDsl.BlobBinaryProperty;
14  import BusinessDomainDsl.BlobTextProperty;
15  import BusinessDomainDsl.BoolProperty;
16  import BusinessDomainDsl.BusinessClass;
17  import BusinessDomainDsl.BusinessClassReference;
18  import BusinessDomainDsl.BusinessDomainDslFactory;
19  import BusinessDomainDsl.BusinessDomainDslPackage;
20  import BusinessDomainDsl.BusinessDomainModel;
21  import BusinessDomainDsl.BusinessRule;
22  import BusinessDomainDsl.DateTimeAccuracy;
23  import BusinessDomainDsl.DateTimeProperty;
24  import BusinessDomainDsl.DecimalProperty;
25  import BusinessDomainDsl.Enumeration;
26  import BusinessDomainDsl.EnumerationLiteral;
27  import BusinessDomainDsl.EnumerationProperty;
28  import BusinessDomainDsl.IntegerProperty;
29  import BusinessDomainDsl.ModelElement;
30  import BusinessDomainDsl.Multiplicity;
31  import BusinessDomainDsl.PersistencyMode;
32  import BusinessDomainDsl.Property;
33  import BusinessDomainDsl.StringProperty;
34  import BusinessDomainDsl.UniqueRule;
35  
36  import org.eclipse.emf.ecore.EAttribute;
37  import org.eclipse.emf.ecore.EClass;
38  import org.eclipse.emf.ecore.EEnum;
39  import org.eclipse.emf.ecore.EPackage;
40  import org.eclipse.emf.ecore.EReference;
41  
42  import org.eclipse.emf.ecore.impl.EPackageImpl;
43  
44  /**
45   * <!-- begin-user-doc -->
46   * An implementation of the model <b>Package</b>.
47   * <!-- end-user-doc -->
48   * @generated
49   */
50  public class BusinessDomainDslPackageImpl extends EPackageImpl implements BusinessDomainDslPackage {
51  	/**
52       * <!-- begin-user-doc -->
53  	 * <!-- end-user-doc -->
54       * @generated
55       */
56  	private EClass modelElementEClass = null;
57  
58  	/**
59       * <!-- begin-user-doc -->
60  	 * <!-- end-user-doc -->
61       * @generated
62       */
63  	private EClass businessDomainModelEClass = null;
64  
65  	/**
66       * <!-- begin-user-doc -->
67  	 * <!-- end-user-doc -->
68       * @generated
69       */
70  	private EClass businessClassEClass = null;
71  
72  	/**
73       * <!-- begin-user-doc -->
74  	 * <!-- end-user-doc -->
75       * @generated
76       */
77  	private EClass propertyEClass = null;
78  
79  	/**
80       * <!-- begin-user-doc -->
81  	 * <!-- end-user-doc -->
82       * @generated
83       */
84  	private EClass enumerationEClass = null;
85  
86  	/**
87       * <!-- begin-user-doc -->
88  	 * <!-- end-user-doc -->
89       * @generated
90       */
91  	private EClass enumerationLiteralEClass = null;
92  
93  	/**
94       * <!-- begin-user-doc -->
95  	 * <!-- end-user-doc -->
96       * @generated
97       */
98  	private EClass abstractBusinessRuleEClass = null;
99  
100 	/**
101      * <!-- begin-user-doc -->
102 	 * <!-- end-user-doc -->
103      * @generated
104      */
105 	private EClass boolPropertyEClass = null;
106 
107 	/**
108      * <!-- begin-user-doc -->
109 	 * <!-- end-user-doc -->
110      * @generated
111      */
112 	private EClass dateTimePropertyEClass = null;
113 
114 	/**
115      * <!-- begin-user-doc -->
116 	 * <!-- end-user-doc -->
117      * @generated
118      */
119 	private EClass enumerationPropertyEClass = null;
120 
121 	/**
122      * <!-- begin-user-doc -->
123 	 * <!-- end-user-doc -->
124      * @generated
125      */
126 	private EClass integerPropertyEClass = null;
127 
128 	/**
129      * <!-- begin-user-doc -->
130 	 * <!-- end-user-doc -->
131      * @generated
132      */
133 	private EClass stringPropertyEClass = null;
134 
135 	/**
136      * <!-- begin-user-doc -->
137 	 * <!-- end-user-doc -->
138      * @generated
139      */
140 	private EClass abstractTypeEClass = null;
141 
142 	/**
143      * <!-- begin-user-doc -->
144 	 * <!-- end-user-doc -->
145      * @generated
146      */
147 	private EClass blobBinaryPropertyEClass = null;
148 
149 	/**
150      * <!-- begin-user-doc -->
151 	 * <!-- end-user-doc -->
152      * @generated
153      */
154 	private EClass blobTextPropertyEClass = null;
155 
156 	/**
157      * <!-- begin-user-doc -->
158 	 * <!-- end-user-doc -->
159      * @generated
160      */
161 	private EClass associationEClass = null;
162 
163 	/**
164      * <!-- begin-user-doc -->
165 	 * <!-- end-user-doc -->
166      * @generated
167      */
168 	private EClass decimalPropertyEClass = null;
169 
170 	/**
171      * <!-- begin-user-doc -->
172 	 * <!-- end-user-doc -->
173      * @generated
174      */
175 	private EClass abstractBusinessClassEClass = null;
176 
177 	/**
178      * <!-- begin-user-doc -->
179 	 * <!-- end-user-doc -->
180      * @generated
181      */
182 	private EClass businessClassReferenceEClass = null;
183 
184 	/**
185      * <!-- begin-user-doc -->
186 	 * <!-- end-user-doc -->
187      * @generated
188      */
189 	private EClass uniqueRuleEClass = null;
190 
191 	/**
192      * <!-- begin-user-doc -->
193 	 * <!-- end-user-doc -->
194      * @generated
195      */
196 	private EClass businessRuleEClass = null;
197 
198 	/**
199      * <!-- begin-user-doc -->
200 	 * <!-- end-user-doc -->
201      * @generated
202      */
203 	private EEnum multiplicityEEnum = null;
204 
205 	/**
206      * <!-- begin-user-doc -->
207 	 * <!-- end-user-doc -->
208      * @generated
209      */
210 	private EEnum dateTimeAccuracyEEnum = null;
211 
212 	/**
213      * <!-- begin-user-doc -->
214 	 * <!-- end-user-doc -->
215      * @generated
216      */
217 	private EEnum persistencyModeEEnum = null;
218 
219 	/**
220      * Creates an instance of the model <b>Package</b>, registered with
221      * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
222      * package URI value.
223      * <p>Note: the correct way to create the package is via the static
224      * factory method {@link #init init()}, which also performs
225      * initialization of the package, or returns the registered package,
226      * if one already exists.
227      * <!-- begin-user-doc -->
228 	 * <!-- end-user-doc -->
229      * @see org.eclipse.emf.ecore.EPackage.Registry
230      * @see BusinessDomainDsl.BusinessDomainDslPackage#eNS_URI
231      * @see #init()
232      * @generated
233      */
234 	private BusinessDomainDslPackageImpl() {
235         super(eNS_URI, BusinessDomainDslFactory.eINSTANCE);
236     }
237 
238 	/**
239      * <!-- begin-user-doc -->
240 	 * <!-- end-user-doc -->
241      * @generated
242      */
243 	private static boolean isInited = false;
244 
245 	/**
246      * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
247      * 
248      * <p>This method is used to initialize {@link BusinessDomainDslPackage#eINSTANCE} when that field is accessed.
249      * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
250      * <!-- begin-user-doc -->
251 	 * <!-- end-user-doc -->
252      * @see #eNS_URI
253      * @see #createPackageContents()
254      * @see #initializePackageContents()
255      * @generated
256      */
257 	public static BusinessDomainDslPackage init() {
258         if (isInited) return (BusinessDomainDslPackage)EPackage.Registry.INSTANCE.getEPackage(BusinessDomainDslPackage.eNS_URI);
259 
260         // Obtain or create and register package
261         BusinessDomainDslPackageImpl theBusinessDomainDslPackage = (BusinessDomainDslPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof BusinessDomainDslPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new BusinessDomainDslPackageImpl());
262 
263         isInited = true;
264 
265         // Create package meta-data objects
266         theBusinessDomainDslPackage.createPackageContents();
267 
268         // Initialize created meta-data
269         theBusinessDomainDslPackage.initializePackageContents();
270 
271         // Mark meta-data to indicate it can't be changed
272         theBusinessDomainDslPackage.freeze();
273 
274   
275         // Update the registry and return the package
276         EPackage.Registry.INSTANCE.put(BusinessDomainDslPackage.eNS_URI, theBusinessDomainDslPackage);
277         return theBusinessDomainDslPackage;
278     }
279 
280 	/**
281      * <!-- begin-user-doc -->
282 	 * <!-- end-user-doc -->
283      * @generated
284      */
285 	public EClass getModelElement() {
286         return modelElementEClass;
287     }
288 
289 	/**
290      * <!-- begin-user-doc -->
291 	 * <!-- end-user-doc -->
292      * @generated
293      */
294 	public EAttribute getModelElement_Name() {
295         return (EAttribute)modelElementEClass.getEStructuralFeatures().get(0);
296     }
297 
298 	/**
299      * <!-- begin-user-doc -->
300 	 * <!-- end-user-doc -->
301      * @generated
302      */
303 	public EAttribute getModelElement_Description() {
304         return (EAttribute)modelElementEClass.getEStructuralFeatures().get(1);
305     }
306 
307 	/**
308      * <!-- begin-user-doc -->
309 	 * <!-- end-user-doc -->
310      * @generated
311      */
312 	public EClass getBusinessDomainModel() {
313         return businessDomainModelEClass;
314     }
315 
316 	/**
317      * <!-- begin-user-doc -->
318 	 * <!-- end-user-doc -->
319      * @generated
320      */
321 	public EReference getBusinessDomainModel_Enumerations() {
322         return (EReference)businessDomainModelEClass.getEStructuralFeatures().get(0);
323     }
324 
325 	/**
326      * <!-- begin-user-doc -->
327 	 * <!-- end-user-doc -->
328      * @generated
329      */
330 	public EReference getBusinessDomainModel_Types() {
331         return (EReference)businessDomainModelEClass.getEStructuralFeatures().get(1);
332     }
333 
334 	/**
335      * <!-- begin-user-doc -->
336 	 * <!-- end-user-doc -->
337      * @generated
338      */
339 	public EReference getBusinessDomainModel_Associations() {
340         return (EReference)businessDomainModelEClass.getEStructuralFeatures().get(2);
341     }
342 
343 	/**
344      * <!-- begin-user-doc -->
345 	 * <!-- end-user-doc -->
346      * @generated
347      */
348 	public EClass getBusinessClass() {
349         return businessClassEClass;
350     }
351 
352 	/**
353      * <!-- begin-user-doc -->
354 	 * <!-- end-user-doc -->
355      * @generated
356      */
357 	public EReference getBusinessClass_BusinessRules() {
358         return (EReference)businessClassEClass.getEStructuralFeatures().get(0);
359     }
360 
361 	/**
362      * <!-- begin-user-doc -->
363 	 * <!-- end-user-doc -->
364      * @generated
365      */
366 	public EReference getBusinessClass_Superclass() {
367         return (EReference)businessClassEClass.getEStructuralFeatures().get(1);
368     }
369 
370 	/**
371      * <!-- begin-user-doc -->
372 	 * <!-- end-user-doc -->
373      * @generated
374      */
375 	public EReference getBusinessClass_AssociationsTo() {
376         return (EReference)businessClassEClass.getEStructuralFeatures().get(2);
377     }
378 
379 	/**
380      * <!-- begin-user-doc -->
381 	 * <!-- end-user-doc -->
382      * @generated
383      */
384 	public EClass getProperty() {
385         return propertyEClass;
386     }
387 
388 	/**
389      * <!-- begin-user-doc -->
390 	 * <!-- end-user-doc -->
391      * @generated
392      */
393 	public EAttribute getProperty_DataType() {
394         return (EAttribute)propertyEClass.getEStructuralFeatures().get(0);
395     }
396 
397 	/**
398      * <!-- begin-user-doc -->
399 	 * <!-- end-user-doc -->
400      * @generated
401      */
402 	public EAttribute getProperty_Nullable() {
403         return (EAttribute)propertyEClass.getEStructuralFeatures().get(1);
404     }
405 
406 	/**
407      * <!-- begin-user-doc -->
408      * <!-- end-user-doc -->
409      * @generated
410      */
411     public EAttribute getProperty_Derived() {
412         return (EAttribute)propertyEClass.getEStructuralFeatures().get(2);
413     }
414 
415     /**
416      * <!-- begin-user-doc -->
417 	 * <!-- end-user-doc -->
418      * @generated
419      */
420 	public EAttribute getProperty_Writable() {
421         return (EAttribute)propertyEClass.getEStructuralFeatures().get(3);
422     }
423 
424 				/**
425      * <!-- begin-user-doc -->
426 	 * <!-- end-user-doc -->
427      * @generated
428      */
429 	public EAttribute getProperty_Persistency() {
430         return (EAttribute)propertyEClass.getEStructuralFeatures().get(4);
431     }
432 
433 	/**
434      * <!-- begin-user-doc -->
435 	 * <!-- end-user-doc -->
436      * @generated
437      */
438 	public EAttribute getProperty_HasDefault() {
439         return (EAttribute)propertyEClass.getEStructuralFeatures().get(5);
440     }
441 
442 	/**
443      * <!-- begin-user-doc -->
444 	 * <!-- end-user-doc -->
445      * @generated
446      */
447 	public EReference getProperty_OwningType() {
448         return (EReference)propertyEClass.getEStructuralFeatures().get(6);
449     }
450 
451 	/**
452      * <!-- begin-user-doc -->
453 	 * <!-- end-user-doc -->
454      * @generated
455      */
456 	public EClass getEnumeration() {
457         return enumerationEClass;
458     }
459 
460 	/**
461      * <!-- begin-user-doc -->
462 	 * <!-- end-user-doc -->
463      * @generated
464      */
465 	public EReference getEnumeration_EnumerationLiterals() {
466         return (EReference)enumerationEClass.getEStructuralFeatures().get(0);
467     }
468 
469 	/**
470      * <!-- begin-user-doc -->
471 	 * <!-- end-user-doc -->
472      * @generated
473      */
474 	public EReference getEnumeration_Model() {
475         return (EReference)enumerationEClass.getEStructuralFeatures().get(1);
476     }
477 
478 	/**
479      * <!-- begin-user-doc -->
480 	 * <!-- end-user-doc -->
481      * @generated
482      */
483 	public EClass getEnumerationLiteral() {
484         return enumerationLiteralEClass;
485     }
486 
487 	/**
488      * <!-- begin-user-doc -->
489 	 * <!-- end-user-doc -->
490      * @generated
491      */
492 	public EAttribute getEnumerationLiteral_PersistedValue() {
493         return (EAttribute)enumerationLiteralEClass.getEStructuralFeatures().get(0);
494     }
495 
496 	/**
497      * <!-- begin-user-doc -->
498 	 * <!-- end-user-doc -->
499      * @generated
500      */
501 	public EReference getEnumerationLiteral_Enumeration() {
502         return (EReference)enumerationLiteralEClass.getEStructuralFeatures().get(1);
503     }
504 
505 	/**
506      * <!-- begin-user-doc -->
507 	 * <!-- end-user-doc -->
508      * @generated
509      */
510 	public EClass getAbstractBusinessRule() {
511         return abstractBusinessRuleEClass;
512     }
513 
514 	/**
515      * <!-- begin-user-doc -->
516 	 * <!-- end-user-doc -->
517      * @generated
518      */
519 	public EReference getAbstractBusinessRule_BusinessClass() {
520         return (EReference)abstractBusinessRuleEClass.getEStructuralFeatures().get(0);
521     }
522 
523 	/**
524      * <!-- begin-user-doc -->
525 	 * <!-- end-user-doc -->
526      * @generated
527      */
528 	public EClass getBoolProperty() {
529         return boolPropertyEClass;
530     }
531 
532 	/**
533      * <!-- begin-user-doc -->
534 	 * <!-- end-user-doc -->
535      * @generated
536      */
537 	public EAttribute getBoolProperty_DefaultValue() {
538         return (EAttribute)boolPropertyEClass.getEStructuralFeatures().get(0);
539     }
540 
541 	/**
542      * <!-- begin-user-doc -->
543 	 * <!-- end-user-doc -->
544      * @generated
545      */
546 	public EClass getDateTimeProperty() {
547         return dateTimePropertyEClass;
548     }
549 
550 	/**
551      * <!-- begin-user-doc -->
552 	 * <!-- end-user-doc -->
553      * @generated
554      */
555 	public EAttribute getDateTimeProperty_Accuracy() {
556         return (EAttribute)dateTimePropertyEClass.getEStructuralFeatures().get(0);
557     }
558 
559 	/**
560      * <!-- begin-user-doc -->
561 	 * <!-- end-user-doc -->
562      * @generated
563      */
564 	public EAttribute getDateTimeProperty_DefaultValue() {
565         return (EAttribute)dateTimePropertyEClass.getEStructuralFeatures().get(1);
566     }
567 
568 	/**
569      * <!-- begin-user-doc -->
570 	 * <!-- end-user-doc -->
571      * @generated
572      */
573 	public EClass getEnumerationProperty() {
574         return enumerationPropertyEClass;
575     }
576 
577 	/**
578      * <!-- begin-user-doc -->
579 	 * <!-- end-user-doc -->
580      * @generated
581      */
582 	public EReference getEnumerationProperty_Type() {
583         return (EReference)enumerationPropertyEClass.getEStructuralFeatures().get(0);
584     }
585 
586 	/**
587      * <!-- begin-user-doc -->
588 	 * <!-- end-user-doc -->
589      * @generated
590      */
591 	public EAttribute getEnumerationProperty_DefaultValueAsString() {
592         return (EAttribute)enumerationPropertyEClass.getEStructuralFeatures().get(1);
593     }
594 
595 	/**
596      * <!-- begin-user-doc -->
597 	 * <!-- end-user-doc -->
598      * @generated
599      */
600 	public EClass getIntegerProperty() {
601         return integerPropertyEClass;
602     }
603 
604 	/**
605      * <!-- begin-user-doc -->
606 	 * <!-- end-user-doc -->
607      * @generated
608      */
609 	public EAttribute getIntegerProperty_MinValue() {
610         return (EAttribute)integerPropertyEClass.getEStructuralFeatures().get(0);
611     }
612 
613 	/**
614      * <!-- begin-user-doc -->
615 	 * <!-- end-user-doc -->
616      * @generated
617      */
618 	public EAttribute getIntegerProperty_MaxValue() {
619         return (EAttribute)integerPropertyEClass.getEStructuralFeatures().get(1);
620     }
621 
622 	/**
623      * <!-- begin-user-doc -->
624 	 * <!-- end-user-doc -->
625      * @generated
626      */
627 	public EAttribute getIntegerProperty_DefaultValue() {
628         return (EAttribute)integerPropertyEClass.getEStructuralFeatures().get(2);
629     }
630 
631 	/**
632      * <!-- begin-user-doc -->
633 	 * <!-- end-user-doc -->
634      * @generated
635      */
636 	public EClass getStringProperty() {
637         return stringPropertyEClass;
638     }
639 
640 	/**
641      * <!-- begin-user-doc -->
642 	 * <!-- end-user-doc -->
643      * @generated
644      */
645 	public EAttribute getStringProperty_RegularExpression() {
646         return (EAttribute)stringPropertyEClass.getEStructuralFeatures().get(0);
647     }
648 
649 	/**
650      * <!-- begin-user-doc -->
651 	 * <!-- end-user-doc -->
652      * @generated
653      */
654 	public EAttribute getStringProperty_MinLength() {
655         return (EAttribute)stringPropertyEClass.getEStructuralFeatures().get(1);
656     }
657 
658 	/**
659      * <!-- begin-user-doc -->
660 	 * <!-- end-user-doc -->
661      * @generated
662      */
663 	public EAttribute getStringProperty_MaxLength() {
664         return (EAttribute)stringPropertyEClass.getEStructuralFeatures().get(2);
665     }
666 
667 	/**
668      * <!-- begin-user-doc -->
669 	 * <!-- end-user-doc -->
670      * @generated
671      */
672 	public EAttribute getStringProperty_DefaultValue() {
673         return (EAttribute)stringPropertyEClass.getEStructuralFeatures().get(3);
674     }
675 
676 	/**
677      * <!-- begin-user-doc -->
678 	 * <!-- end-user-doc -->
679      * @generated
680      */
681 	public EClass getAbstractType() {
682         return abstractTypeEClass;
683     }
684 
685 	/**
686      * <!-- begin-user-doc -->
687 	 * <!-- end-user-doc -->
688      * @generated
689      */
690 	public EReference getAbstractType_Properties() {
691         return (EReference)abstractTypeEClass.getEStructuralFeatures().get(0);
692     }
693 
694 	/**
695      * <!-- begin-user-doc -->
696 	 * <!-- end-user-doc -->
697      * @generated
698      */
699 	public EReference getAbstractType_Model() {
700         return (EReference)abstractTypeEClass.getEStructuralFeatures().get(1);
701     }
702 
703 	/**
704      * <!-- begin-user-doc -->
705 	 * <!-- end-user-doc -->
706      * @generated
707      */
708 	public EClass getBlobBinaryProperty() {
709         return blobBinaryPropertyEClass;
710     }
711 
712 	/**
713      * <!-- begin-user-doc -->
714 	 * <!-- end-user-doc -->
715      * @generated
716      */
717 	public EClass getBlobTextProperty() {
718         return blobTextPropertyEClass;
719     }
720 
721 	/**
722      * <!-- begin-user-doc -->
723 	 * <!-- end-user-doc -->
724      * @generated
725      */
726 	public EClass getAssociation() {
727         return associationEClass;
728     }
729 
730 	/**
731      * <!-- begin-user-doc -->
732 	 * <!-- end-user-doc -->
733      * @generated
734      */
735 	public EReference getAssociation_Source() {
736         return (EReference)associationEClass.getEStructuralFeatures().get(0);
737     }
738 
739 	/**
740      * <!-- begin-user-doc -->
741 	 * <!-- end-user-doc -->
742      * @generated
743      */
744 	public EReference getAssociation_Target() {
745         return (EReference)associationEClass.getEStructuralFeatures().get(1);
746     }
747 
748 	/**
749      * <!-- begin-user-doc -->
750 	 * <!-- end-user-doc -->
751      * @generated
752      */
753 	public EAttribute getAssociation_SourceRoleName() {
754         return (EAttribute)associationEClass.getEStructuralFeatures().get(2);
755     }
756 
757 	/**
758      * <!-- begin-user-doc -->
759 	 * <!-- end-user-doc -->
760      * @generated
761      */
762 	public EAttribute getAssociation_SourceMultiplicity() {
763         return (EAttribute)associationEClass.getEStructuralFeatures().get(3);
764     }
765 
766 	/**
767      * <!-- begin-user-doc -->
768 	 * <!-- end-user-doc -->
769      * @generated
770      */
771 	public EAttribute getAssociation_TargetRoleName() {
772         return (EAttribute)associationEClass.getEStructuralFeatures().get(4);
773     }
774 
775 	/**
776      * <!-- begin-user-doc -->
777 	 * <!-- end-user-doc -->
778      * @generated
779      */
780 	public EAttribute getAssociation_TargetMultiplicity() {
781         return (EAttribute)associationEClass.getEStructuralFeatures().get(5);
782     }
783 
784 	/**
785      * <!-- begin-user-doc -->
786 	 * <!-- end-user-doc -->
787      * @generated
788      */
789 	public EAttribute getAssociation_Composite() {
790         return (EAttribute)associationEClass.getEStructuralFeatures().get(6);
791     }
792 
793 	/**
794      * <!-- begin-user-doc -->
795 	 * <!-- end-user-doc -->
796      * @generated
797      */
798 	public EAttribute getAssociation_Bidirectional() {
799         return (EAttribute)associationEClass.getEStructuralFeatures().get(7);
800     }
801 
802 	/**
803      * <!-- begin-user-doc -->
804 	 * <!-- end-user-doc -->
805      * @generated
806      */
807 	public EAttribute getAssociation_Ordered() {
808         return (EAttribute)associationEClass.getEStructuralFeatures().get(8);
809     }
810 
811 	/**
812      * <!-- begin-user-doc -->
813 	 * <!-- end-user-doc -->
814      * @generated
815      */
816 	public EReference getAssociation_Model() {
817         return (EReference)associationEClass.getEStructuralFeatures().get(9);
818     }
819 
820 	/**
821      * <!-- begin-user-doc -->
822 	 * <!-- end-user-doc -->
823      * @generated
824      */
825 	public EClass getDecimalProperty() {
826         return decimalPropertyEClass;
827     }
828 
829 	/**
830      * <!-- begin-user-doc -->
831 	 * <!-- end-user-doc -->
832      * @generated
833      */
834 	public EAttribute getDecimalProperty_MinValue() {
835         return (EAttribute)decimalPropertyEClass.getEStructuralFeatures().get(0);
836     }
837 
838 	/**
839      * <!-- begin-user-doc -->
840 	 * <!-- end-user-doc -->
841      * @generated
842      */
843 	public EAttribute getDecimalProperty_MaxValue() {
844         return (EAttribute)decimalPropertyEClass.getEStructuralFeatures().get(1);
845     }
846 
847 	/**
848      * <!-- begin-user-doc -->
849 	 * <!-- end-user-doc -->
850      * @generated
851      */
852 	public EAttribute getDecimalProperty_MinInclusive() {
853         return (EAttribute)decimalPropertyEClass.getEStructuralFeatures().get(2);
854     }
855 
856 	/**
857      * <!-- begin-user-doc -->
858 	 * <!-- end-user-doc -->
859      * @generated
860      */
861 	public EAttribute getDecimalProperty_MaxInclusive() {
862         return (EAttribute)decimalPropertyEClass.getEStructuralFeatures().get(3);
863     }
864 
865 	/**
866      * <!-- begin-user-doc -->
867 	 * <!-- end-user-doc -->
868      * @generated
869      */
870 	public EAttribute getDecimalProperty_DefaultValue() {
871         return (EAttribute)decimalPropertyEClass.getEStructuralFeatures().get(4);
872     }
873 
874 	/**
875      * <!-- begin-user-doc -->
876 	 * <!-- end-user-doc -->
877      * @generated
878      */
879 	public EClass getAbstractBusinessClass() {
880         return abstractBusinessClassEClass;
881     }
882 
883 	/**
884      * <!-- begin-user-doc -->
885 	 * <!-- end-user-doc -->
886      * @generated
887      */
888 	public EReference getAbstractBusinessClass_AssociationsFrom() {
889         return (EReference)abstractBusinessClassEClass.getEStructuralFeatures().get(0);
890     }
891 
892 	/**
893      * <!-- begin-user-doc -->
894 	 * <!-- end-user-doc -->
895      * @generated
896      */
897 	public EClass getBusinessClassReference() {
898         return businessClassReferenceEClass;
899     }
900 
901 	/**
902      * <!-- begin-user-doc -->
903 	 * <!-- end-user-doc -->
904      * @generated
905      */
906 	public EAttribute getBusinessClassReference_ReferredModel() {
907         return (EAttribute)businessClassReferenceEClass.getEStructuralFeatures().get(0);
908     }
909 
910 	/**
911      * <!-- begin-user-doc -->
912 	 * <!-- end-user-doc -->
913      * @generated
914      */
915 	public EClass getUniqueRule() {
916         return uniqueRuleEClass;
917     }
918 
919 	/**
920      * <!-- begin-user-doc -->
921 	 * <!-- end-user-doc -->
922      * @generated
923      */
924 	public EReference getUniqueRule_Properties() {
925         return (EReference)uniqueRuleEClass.getEStructuralFeatures().get(0);
926     }
927 
928 	/**
929      * <!-- begin-user-doc -->
930 	 * <!-- end-user-doc -->
931      * @generated
932      */
933 	public EClass getBusinessRule() {
934         return businessRuleEClass;
935     }
936 
937 	/**
938      * <!-- begin-user-doc -->
939 	 * <!-- end-user-doc -->
940      * @generated
941      */
942 	public EEnum getMultiplicity() {
943         return multiplicityEEnum;
944     }
945 
946 	/**
947      * <!-- begin-user-doc -->
948 	 * <!-- end-user-doc -->
949      * @generated
950      */
951 	public EEnum getDateTimeAccuracy() {
952         return dateTimeAccuracyEEnum;
953     }
954 
955 	/**
956      * <!-- begin-user-doc -->
957 	 * <!-- end-user-doc -->
958      * @generated
959      */
960 	public EEnum getPersistencyMode() {
961         return persistencyModeEEnum;
962     }
963 
964 	/**
965      * <!-- begin-user-doc -->
966 	 * <!-- end-user-doc -->
967      * @generated
968      */
969 	public BusinessDomainDslFactory getBusinessDomainDslFactory() {
970         return (BusinessDomainDslFactory)getEFactoryInstance();
971     }
972 
973 	/**
974      * <!-- begin-user-doc -->
975 	 * <!-- end-user-doc -->
976      * @generated
977      */
978 	private boolean isCreated = false;
979 
980 	/**
981      * Creates the meta-model objects for the package.  This method is
982      * guarded to have no affect on any invocation but its first.
983      * <!-- begin-user-doc -->
984 	 * <!-- end-user-doc -->
985      * @generated
986      */
987 	public void createPackageContents() {
988         if (isCreated) return;
989         isCreated = true;
990 
991         // Create classes and their features
992         modelElementEClass = createEClass(MODEL_ELEMENT);
993         createEAttribute(modelElementEClass, MODEL_ELEMENT__NAME);
994         createEAttribute(modelElementEClass, MODEL_ELEMENT__DESCRIPTION);
995 
996         businessDomainModelEClass = createEClass(BUSINESS_DOMAIN_MODEL);
997         createEReference(businessDomainModelEClass, BUSINESS_DOMAIN_MODEL__ENUMERATIONS);
998         createEReference(businessDomainModelEClass, BUSINESS_DOMAIN_MODEL__TYPES);
999         createEReference(businessDomainModelEClass, BUSINESS_DOMAIN_MODEL__ASSOCIATIONS);
1000 
1001         businessClassEClass = createEClass(BUSINESS_CLASS);
1002         createEReference(businessClassEClass, BUSINESS_CLASS__BUSINESS_RULES);
1003         createEReference(businessClassEClass, BUSINESS_CLASS__SUPERCLASS);
1004         createEReference(businessClassEClass, BUSINESS_CLASS__ASSOCIATIONS_TO);
1005 
1006         propertyEClass = createEClass(PROPERTY);
1007         createEAttribute(propertyEClass, PROPERTY__DATA_TYPE);
1008         createEAttribute(propertyEClass, PROPERTY__NULLABLE);
1009         createEAttribute(propertyEClass, PROPERTY__DERIVED);
1010         createEAttribute(propertyEClass, PROPERTY__WRITABLE);
1011         createEAttribute(propertyEClass, PROPERTY__PERSISTENCY);
1012         createEAttribute(propertyEClass, PROPERTY__HAS_DEFAULT);
1013         createEReference(propertyEClass, PROPERTY__OWNING_TYPE);
1014 
1015         enumerationEClass = createEClass(ENUMERATION);
1016         createEReference(enumerationEClass, ENUMERATION__ENUMERATION_LITERALS);
1017         createEReference(enumerationEClass, ENUMERATION__MODEL);
1018 
1019         enumerationLiteralEClass = createEClass(ENUMERATION_LITERAL);
1020         createEAttribute(enumerationLiteralEClass, ENUMERATION_LITERAL__PERSISTED_VALUE);
1021         createEReference(enumerationLiteralEClass, ENUMERATION_LITERAL__ENUMERATION);
1022 
1023         abstractBusinessRuleEClass = createEClass(ABSTRACT_BUSINESS_RULE);
1024         createEReference(abstractBusinessRuleEClass, ABSTRACT_BUSINESS_RULE__BUSINESS_CLASS);
1025 
1026         boolPropertyEClass = createEClass(BOOL_PROPERTY);
1027         createEAttribute(boolPropertyEClass, BOOL_PROPERTY__DEFAULT_VALUE);
1028 
1029         dateTimePropertyEClass = createEClass(DATE_TIME_PROPERTY);
1030         createEAttribute(dateTimePropertyEClass, DATE_TIME_PROPERTY__ACCURACY);
1031         createEAttribute(dateTimePropertyEClass, DATE_TIME_PROPERTY__DEFAULT_VALUE);
1032 
1033         enumerationPropertyEClass = createEClass(ENUMERATION_PROPERTY);
1034         createEReference(enumerationPropertyEClass, ENUMERATION_PROPERTY__TYPE);
1035         createEAttribute(enumerationPropertyEClass, ENUMERATION_PROPERTY__DEFAULT_VALUE_AS_STRING);
1036 
1037         integerPropertyEClass = createEClass(INTEGER_PROPERTY);
1038         createEAttribute(integerPropertyEClass, INTEGER_PROPERTY__MIN_VALUE);
1039         createEAttribute(integerPropertyEClass, INTEGER_PROPERTY__MAX_VALUE);
1040         createEAttribute(integerPropertyEClass, INTEGER_PROPERTY__DEFAULT_VALUE);
1041 
1042         stringPropertyEClass = createEClass(STRING_PROPERTY);
1043         createEAttribute(stringPropertyEClass, STRING_PROPERTY__REGULAR_EXPRESSION);
1044         createEAttribute(stringPropertyEClass, STRING_PROPERTY__MIN_LENGTH);
1045         createEAttribute(stringPropertyEClass, STRING_PROPERTY__MAX_LENGTH);
1046         createEAttribute(stringPropertyEClass, STRING_PROPERTY__DEFAULT_VALUE);
1047 
1048         abstractTypeEClass = createEClass(ABSTRACT_TYPE);
1049         createEReference(abstractTypeEClass, ABSTRACT_TYPE__PROPERTIES);
1050         createEReference(abstractTypeEClass, ABSTRACT_TYPE__MODEL);
1051 
1052         blobBinaryPropertyEClass = createEClass(BLOB_BINARY_PROPERTY);
1053 
1054         blobTextPropertyEClass = createEClass(BLOB_TEXT_PROPERTY);
1055 
1056         associationEClass = createEClass(ASSOCIATION);
1057         createEReference(associationEClass, ASSOCIATION__SOURCE);
1058         createEReference(associationEClass, ASSOCIATION__TARGET);
1059         createEAttribute(associationEClass, ASSOCIATION__SOURCE_ROLE_NAME);
1060         createEAttribute(associationEClass, ASSOCIATION__SOURCE_MULTIPLICITY);
1061         createEAttribute(associationEClass, ASSOCIATION__TARGET_ROLE_NAME);
1062         createEAttribute(associationEClass, ASSOCIATION__TARGET_MULTIPLICITY);
1063         createEAttribute(associationEClass, ASSOCIATION__COMPOSITE);
1064         createEAttribute(associationEClass, ASSOCIATION__BIDIRECTIONAL);
1065         createEAttribute(associationEClass, ASSOCIATION__ORDERED);
1066         createEReference(associationEClass, ASSOCIATION__MODEL);
1067 
1068         decimalPropertyEClass = createEClass(DECIMAL_PROPERTY);
1069         createEAttribute(decimalPropertyEClass, DECIMAL_PROPERTY__MIN_VALUE);
1070         createEAttribute(decimalPropertyEClass, DECIMAL_PROPERTY__MAX_VALUE);
1071         createEAttribute(decimalPropertyEClass, DECIMAL_PROPERTY__MIN_INCLUSIVE);
1072         createEAttribute(decimalPropertyEClass, DECIMAL_PROPERTY__MAX_INCLUSIVE);
1073         createEAttribute(decimalPropertyEClass, DECIMAL_PROPERTY__DEFAULT_VALUE);
1074 
1075         abstractBusinessClassEClass = createEClass(ABSTRACT_BUSINESS_CLASS);
1076         createEReference(abstractBusinessClassEClass, ABSTRACT_BUSINESS_CLASS__ASSOCIATIONS_FROM);
1077 
1078         businessClassReferenceEClass = createEClass(BUSINESS_CLASS_REFERENCE);
1079         createEAttribute(businessClassReferenceEClass, BUSINESS_CLASS_REFERENCE__REFERRED_MODEL);
1080 
1081         uniqueRuleEClass = createEClass(UNIQUE_RULE);
1082         createEReference(uniqueRuleEClass, UNIQUE_RULE__PROPERTIES);
1083 
1084         businessRuleEClass = createEClass(BUSINESS_RULE);
1085 
1086         // Create enums
1087         multiplicityEEnum = createEEnum(MULTIPLICITY);
1088         dateTimeAccuracyEEnum = createEEnum(DATE_TIME_ACCURACY);
1089         persistencyModeEEnum = createEEnum(PERSISTENCY_MODE);
1090     }
1091 
1092 	/**
1093      * <!-- begin-user-doc -->
1094 	 * <!-- end-user-doc -->
1095      * @generated
1096      */
1097 	private boolean isInitialized = false;
1098 
1099 	/**
1100      * Complete the initialization of the package and its meta-model.  This
1101      * method is guarded to have no affect on any invocation but its first.
1102      * <!-- begin-user-doc -->
1103 	 * <!-- end-user-doc -->
1104      * @generated
1105      */
1106 	public void initializePackageContents() {
1107         if (isInitialized) return;
1108         isInitialized = true;
1109 
1110         // Initialize package
1111         setName(eNAME);
1112         setNsPrefix(eNS_PREFIX);
1113         setNsURI(eNS_URI);
1114 
1115         // Create type parameters
1116 
1117         // Set bounds for type parameters
1118 
1119         // Add supertypes to classes
1120         businessDomainModelEClass.getESuperTypes().add(this.getModelElement());
1121         businessClassEClass.getESuperTypes().add(this.getAbstractBusinessClass());
1122         propertyEClass.getESuperTypes().add(this.getModelElement());
1123         enumerationEClass.getESuperTypes().add(this.getModelElement());
1124         enumerationLiteralEClass.getESuperTypes().add(this.getModelElement());
1125         abstractBusinessRuleEClass.getESuperTypes().add(this.getModelElement());
1126         boolPropertyEClass.getESuperTypes().add(this.getProperty());
1127         dateTimePropertyEClass.getESuperTypes().add(this.getProperty());
1128         enumerationPropertyEClass.getESuperTypes().add(this.getProperty());
1129         integerPropertyEClass.getESuperTypes().add(this.getProperty());
1130         stringPropertyEClass.getESuperTypes().add(this.getProperty());
1131         abstractTypeEClass.getESuperTypes().add(this.getModelElement());
1132         blobBinaryPropertyEClass.getESuperTypes().add(this.getProperty());
1133         blobTextPropertyEClass.getESuperTypes().add(this.getProperty());
1134         associationEClass.getESuperTypes().add(this.getModelElement());
1135         decimalPropertyEClass.getESuperTypes().add(this.getProperty());
1136         abstractBusinessClassEClass.getESuperTypes().add(this.getAbstractType());
1137         businessClassReferenceEClass.getESuperTypes().add(this.getAbstractBusinessClass());
1138         uniqueRuleEClass.getESuperTypes().add(this.getAbstractBusinessRule());
1139         businessRuleEClass.getESuperTypes().add(this.getAbstractBusinessRule());
1140 
1141         // Initialize classes and features; add operations and parameters
1142         initEClass(modelElementEClass, ModelElement.class, "ModelElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1143         initEAttribute(getModelElement_Name(), ecorePackage.getEString(), "name", "", 0, 1, ModelElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1144         initEAttribute(getModelElement_Description(), ecorePackage.getEString(), "description", null, 0, 1, ModelElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1145 
1146         initEClass(businessDomainModelEClass, BusinessDomainModel.class, "BusinessDomainModel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1147         initEReference(getBusinessDomainModel_Enumerations(), this.getEnumeration(), this.getEnumeration_Model(), "enumerations", null, 0, -1, BusinessDomainModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1148         initEReference(getBusinessDomainModel_Types(), this.getAbstractType(), this.getAbstractType_Model(), "types", null, 0, -1, BusinessDomainModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1149         initEReference(getBusinessDomainModel_Associations(), this.getAssociation(), this.getAssociation_Model(), "associations", null, 0, -1, BusinessDomainModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
1150 
1151         initEClass(businessClassEClass, BusinessClass.class, "BusinessClass", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1152         initEReference(getBusinessClass_BusinessRules(), this.getAbstractBusinessRule(), this.getAbstractBusinessRule_BusinessClass(), "businessRules", null, 0, -1, BusinessClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1153         initEReference(getBusinessClass_Superclass(), this.getBusinessClass(), null, "superclass", null, 0, 1, BusinessClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1154         initEReference(getBusinessClass_AssociationsTo(), this.getAssociation(), this.getAssociation_Source(), "associationsTo", null, 0, -1, BusinessClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1155 
1156         initEClass(propertyEClass, Property.class, "Property", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1157         initEAttribute(getProperty_DataType(), ecorePackage.getEString(), "dataType", null, 0, 1, Property.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1158         initEAttribute(getProperty_Nullable(), ecorePackage.getEBoolean(), "nullable", null, 0, 1, Property.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1159         initEAttribute(getProperty_Derived(), ecorePackage.getEBoolean(), "derived", "false", 0, 1, Property.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1160         initEAttribute(getProperty_Writable(), ecorePackage.getEBoolean(), "writable", "false", 0, 1, Property.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1161         initEAttribute(getProperty_Persistency(), this.getPersistencyMode(), "persistency", "ReadWrite", 0, 1, Property.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1162         initEAttribute(getProperty_HasDefault(), ecorePackage.getEBoolean(), "hasDefault", "false", 0, 1, Property.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1163         initEReference(getProperty_OwningType(), this.getAbstractType(), this.getAbstractType_Properties(), "owningType", null, 0, 1, Property.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1164 
1165         initEClass(enumerationEClass, Enumeration.class, "Enumeration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1166         initEReference(getEnumeration_EnumerationLiterals(), this.getEnumerationLiteral(), this.getEnumerationLiteral_Enumeration(), "enumerationLiterals", null, 0, -1, Enumeration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1167         initEReference(getEnumeration_Model(), this.getBusinessDomainModel(), this.getBusinessDomainModel_Enumerations(), "model", null, 0, 1, Enumeration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1168 
1169         initEClass(enumerationLiteralEClass, EnumerationLiteral.class, "EnumerationLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1170         initEAttribute(getEnumerationLiteral_PersistedValue(), ecorePackage.getEInt(), "persistedValue", null, 0, 1, EnumerationLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1171         initEReference(getEnumerationLiteral_Enumeration(), this.getEnumeration(), this.getEnumeration_EnumerationLiterals(), "enumeration", null, 0, 1, EnumerationLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1172 
1173         initEClass(abstractBusinessRuleEClass, AbstractBusinessRule.class, "AbstractBusinessRule", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1174         initEReference(getAbstractBusinessRule_BusinessClass(), this.getBusinessClass(), this.getBusinessClass_BusinessRules(), "businessClass", null, 0, 1, AbstractBusinessRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1175 
1176         initEClass(boolPropertyEClass, BoolProperty.class, "BoolProperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1177         initEAttribute(getBoolProperty_DefaultValue(), ecorePackage.getEBoolean(), "defaultValue", "false", 0, 1, BoolProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1178 
1179         initEClass(dateTimePropertyEClass, DateTimeProperty.class, "DateTimeProperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1180         initEAttribute(getDateTimeProperty_Accuracy(), this.getDateTimeAccuracy(), "accuracy", "", 0, 1, DateTimeProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1181         initEAttribute(getDateTimeProperty_DefaultValue(), ecorePackage.getEString(), "defaultValue", "", 0, 1, DateTimeProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1182 
1183         initEClass(enumerationPropertyEClass, EnumerationProperty.class, "EnumerationProperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1184         initEReference(getEnumerationProperty_Type(), this.getEnumeration(), null, "type", null, 1, 1, EnumerationProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1185         initEAttribute(getEnumerationProperty_DefaultValueAsString(), ecorePackage.getEString(), "defaultValueAsString", null, 0, 1, EnumerationProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1186 
1187         initEClass(integerPropertyEClass, IntegerProperty.class, "IntegerProperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1188         initEAttribute(getIntegerProperty_MinValue(), ecorePackage.getEInt(), "minValue", "-2147483648", 0, 1, IntegerProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1189         initEAttribute(getIntegerProperty_MaxValue(), ecorePackage.getEInt(), "maxValue", "2147483647", 0, 1, IntegerProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1190         initEAttribute(getIntegerProperty_DefaultValue(), ecorePackage.getEInt(), "defaultValue", null, 0, 1, IntegerProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1191 
1192         initEClass(stringPropertyEClass, StringProperty.class, "StringProperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1193         initEAttribute(getStringProperty_RegularExpression(), ecorePackage.getEString(), "regularExpression", null, 0, 1, StringProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1194         initEAttribute(getStringProperty_MinLength(), ecorePackage.getEInt(), "minLength", "-1", 0, 1, StringProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1195         initEAttribute(getStringProperty_MaxLength(), ecorePackage.getEInt(), "maxLength", "-1", 0, 1, StringProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1196         initEAttribute(getStringProperty_DefaultValue(), ecorePackage.getEString(), "defaultValue", null, 0, 1, StringProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1197 
1198         initEClass(abstractTypeEClass, AbstractType.class, "AbstractType", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1199         initEReference(getAbstractType_Properties(), this.getProperty(), this.getProperty_OwningType(), "properties", null, 0, -1, AbstractType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1200         initEReference(getAbstractType_Model(), this.getBusinessDomainModel(), this.getBusinessDomainModel_Types(), "model", null, 0, 1, AbstractType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1201 
1202         initEClass(blobBinaryPropertyEClass, BlobBinaryProperty.class, "BlobBinaryProperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1203 
1204         initEClass(blobTextPropertyEClass, BlobTextProperty.class, "BlobTextProperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1205 
1206         initEClass(associationEClass, Association.class, "Association", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1207         initEReference(getAssociation_Source(), this.getBusinessClass(), this.getBusinessClass_AssociationsTo(), "source", null, 1, 1, Association.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1208         initEReference(getAssociation_Target(), this.getAbstractBusinessClass(), this.getAbstractBusinessClass_AssociationsFrom(), "target", null, 1, 1, Association.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1209         initEAttribute(getAssociation_SourceRoleName(), ecorePackage.getEString(), "sourceRoleName", "sourceRoleName", 0, 1, Association.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1210         initEAttribute(getAssociation_SourceMultiplicity(), this.getMultiplicity(), "sourceMultiplicity", "One", 0, 1, Association.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1211         initEAttribute(getAssociation_TargetRoleName(), ecorePackage.getEString(), "targetRoleName", "targetRoleName", 0, 1, Association.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1212         initEAttribute(getAssociation_TargetMultiplicity(), this.getMultiplicity(), "targetMultiplicity", "1", 0, 1, Association.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1213         initEAttribute(getAssociation_Composite(), ecorePackage.getEBoolean(), "composite", "false", 0, 1, Association.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1214         initEAttribute(getAssociation_Bidirectional(), ecorePackage.getEBoolean(), "bidirectional", "false", 1, 1, Association.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1215         initEAttribute(getAssociation_Ordered(), ecorePackage.getEBoolean(), "ordered", "false", 1, 1, Association.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1216         initEReference(getAssociation_Model(), this.getBusinessDomainModel(), this.getBusinessDomainModel_Associations(), "model", null, 0, 1, Association.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1217 
1218         initEClass(decimalPropertyEClass, DecimalProperty.class, "DecimalProperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1219         initEAttribute(getDecimalProperty_MinValue(), ecorePackage.getEFloat(), "minValue", "-2147483648", 0, 1, DecimalProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1220         initEAttribute(getDecimalProperty_MaxValue(), ecorePackage.getEFloat(), "maxValue", "-2147483648", 0, 1, DecimalProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1221         initEAttribute(getDecimalProperty_MinInclusive(), ecorePackage.getEBoolean(), "minInclusive", "true", 0, 1, DecimalProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1222         initEAttribute(getDecimalProperty_MaxInclusive(), ecorePackage.getEBoolean(), "maxInclusive", "true", 0, 1, DecimalProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1223         initEAttribute(getDecimalProperty_DefaultValue(), ecorePackage.getEFloat(), "defaultValue", "0", 0, 1, DecimalProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1224 
1225         initEClass(abstractBusinessClassEClass, AbstractBusinessClass.class, "AbstractBusinessClass", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1226         initEReference(getAbstractBusinessClass_AssociationsFrom(), this.getAssociation(), this.getAssociation_Target(), "associationsFrom", null, 0, -1, AbstractBusinessClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1227 
1228         initEClass(businessClassReferenceEClass, BusinessClassReference.class, "BusinessClassReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1229         initEAttribute(getBusinessClassReference_ReferredModel(), ecorePackage.getEString(), "referredModel", null, 0, 1, BusinessClassReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1230 
1231         initEClass(uniqueRuleEClass, UniqueRule.class, "UniqueRule", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1232         initEReference(getUniqueRule_Properties(), this.getProperty(), null, "properties", null, 0, -1, UniqueRule.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1233 
1234         initEClass(businessRuleEClass, BusinessRule.class, "BusinessRule", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1235 
1236         // Initialize enums and add enum literals
1237         initEEnum(multiplicityEEnum, Multiplicity.class, "Multiplicity");
1238         addEEnumLiteral(multiplicityEEnum, Multiplicity.ZERO_MANY);
1239         addEEnumLiteral(multiplicityEEnum, Multiplicity.ONE);
1240         addEEnumLiteral(multiplicityEEnum, Multiplicity.ZERO_ONE);
1241         addEEnumLiteral(multiplicityEEnum, Multiplicity.ONE_MANY);
1242 
1243         initEEnum(dateTimeAccuracyEEnum, DateTimeAccuracy.class, "DateTimeAccuracy");
1244         addEEnumLiteral(dateTimeAccuracyEEnum, DateTimeAccuracy.MILLISECOND);
1245         addEEnumLiteral(dateTimeAccuracyEEnum, DateTimeAccuracy.SECOND);
1246         addEEnumLiteral(dateTimeAccuracyEEnum, DateTimeAccuracy.MINUTE);
1247         addEEnumLiteral(dateTimeAccuracyEEnum, DateTimeAccuracy.HOUR);
1248         addEEnumLiteral(dateTimeAccuracyEEnum, DateTimeAccuracy.DAY);
1249         addEEnumLiteral(dateTimeAccuracyEEnum, DateTimeAccuracy.MONTH);
1250         addEEnumLiteral(dateTimeAccuracyEEnum, DateTimeAccuracy.YEAR);
1251 
1252         initEEnum(persistencyModeEEnum, PersistencyMode.class, "PersistencyMode");
1253         addEEnumLiteral(persistencyModeEEnum, PersistencyMode.READ_WRITE);
1254         addEEnumLiteral(persistencyModeEEnum, PersistencyMode.READ);
1255         addEEnumLiteral(persistencyModeEEnum, PersistencyMode.NONE);
1256 
1257         // Create resource
1258         createResource(eNS_URI);
1259     }
1260 
1261 } //BusinessDomainDslPackageImpl