Skip to content

Package: VMultisegmentPackageImpl

VMultisegmentPackageImpl

nameinstructionbranchcomplexitylinemethod
VMultisegmentPackageImpl()
M: 0 C: 14
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 5
100%
M: 0 C: 1
100%
createPackageContents()
M: 1 C: 17
94%
M: 1 C: 1
50%
M: 1 C: 1
50%
M: 1 C: 6
86%
M: 0 C: 1
100%
getMultiDomainModelReferenceSegment()
M: 0 C: 3
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
getMultiDomainModelReferenceSegment_ChildDomainModelReferences()
M: 0 C: 7
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
getMultisegmentFactory()
M: 4 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
init()
M: 9 C: 33
79%
M: 2 C: 2
50%
M: 2 C: 1
33%
M: 1 C: 12
92%
M: 0 C: 1
100%
initializePackageContents()
M: 1 C: 64
98%
M: 1 C: 1
50%
M: 1 C: 1
50%
M: 1 C: 16
94%
M: 0 C: 1
100%
static {...}
M: 0 C: 3
100%
M: 0 C: 0
100%
M: 0 C: 1
100%
M: 0 C: 1
100%
M: 0 C: 1
100%

Coverage

1: /**
2: * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
3: *
4: * All rights reserved. This program and the accompanying materials
5: * are made available under the terms of the Eclipse Public License 2.0
6: * which accompanies this distribution, and is available at
7: * https://www.eclipse.org/legal/epl-2.0/
8: *
9: * SPDX-License-Identifier: EPL-2.0
10: *
11: * Contributors:
12: * Lucas Koehler - initial API and implementation
13: */
14: package org.eclipse.emfforms.view.spi.multisegment.model.impl;
15:
16: import org.eclipse.emf.ecore.EClass;
17: import org.eclipse.emf.ecore.EPackage;
18: import org.eclipse.emf.ecore.EReference;
19: import org.eclipse.emf.ecore.EcorePackage;
20: import org.eclipse.emf.ecore.impl.EPackageImpl;
21: import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
22: import org.eclipse.emfforms.view.spi.multisegment.model.VMultiDomainModelReferenceSegment;
23: import org.eclipse.emfforms.view.spi.multisegment.model.VMultisegmentFactory;
24: import org.eclipse.emfforms.view.spi.multisegment.model.VMultisegmentPackage;
25:
26: /**
27: * <!-- begin-user-doc -->
28: * An implementation of the model <b>Package</b>.
29: * <!-- end-user-doc -->
30: *
31: * @generated
32: */
33: public class VMultisegmentPackageImpl extends EPackageImpl implements VMultisegmentPackage {
34:         /**
35:          * <!-- begin-user-doc -->
36:          * <!-- end-user-doc -->
37:          *
38:          * @generated
39:          */
40:         private EClass multiDomainModelReferenceSegmentEClass = null;
41:
42:         /**
43:          * Creates an instance of the model <b>Package</b>, registered with
44:          * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
45:          * package URI value.
46:          * <p>
47:          * Note: the correct way to create the package is via the static
48:          * factory method {@link #init init()}, which also performs
49:          * initialization of the package, or returns the registered package,
50:          * if one already exists.
51:          * <!-- begin-user-doc -->
52:          * <!-- end-user-doc -->
53:          *
54:          * @see org.eclipse.emf.ecore.EPackage.Registry
55:          * @see org.eclipse.emfforms.view.spi.multisegment.model.VMultisegmentPackage#eNS_URI
56:          * @see #init()
57:          * @generated
58:          */
59:         private VMultisegmentPackageImpl() {
60:                 super(eNS_URI, VMultisegmentFactory.eINSTANCE);
61:         }
62:
63:         /**
64:          * <!-- begin-user-doc -->
65:          * <!-- end-user-doc -->
66:          *
67:          * @generated
68:          */
69:         private static boolean isInited = false;
70:
71:         /**
72:          * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
73:          *
74:          * <p>
75:          * This method is used to initialize {@link VMultisegmentPackage#eINSTANCE} when that field is accessed.
76:          * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
77:          * <!-- begin-user-doc -->
78:          * <!-- end-user-doc -->
79:          *
80:          * @see #eNS_URI
81:          * @see #createPackageContents()
82:          * @see #initializePackageContents()
83:          * @generated
84:          */
85:         public static VMultisegmentPackage init() {
86:•                if (isInited) {
87:                         return (VMultisegmentPackage) EPackage.Registry.INSTANCE.getEPackage(VMultisegmentPackage.eNS_URI);
88:                 }
89:
90:                 // Obtain or create and register package
91:                 final VMultisegmentPackageImpl theMultisegmentPackage = (VMultisegmentPackageImpl) (EPackage.Registry.INSTANCE
92:•                        .get(eNS_URI) instanceof VMultisegmentPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI)
93:                                 : new VMultisegmentPackageImpl());
94:
95:                 isInited = true;
96:
97:                 // Initialize simple dependencies
98:                 EcorePackage.eINSTANCE.eClass();
99:                 VViewPackage.eINSTANCE.eClass();
100:
101:                 // Create package meta-data objects
102:                 theMultisegmentPackage.createPackageContents();
103:
104:                 // Initialize created meta-data
105:                 theMultisegmentPackage.initializePackageContents();
106:
107:                 // Mark meta-data to indicate it can't be changed
108:                 theMultisegmentPackage.freeze();
109:
110:                 // Update the registry and return the package
111:                 EPackage.Registry.INSTANCE.put(VMultisegmentPackage.eNS_URI, theMultisegmentPackage);
112:                 return theMultisegmentPackage;
113:         }
114:
115:         /**
116:          * <!-- begin-user-doc -->
117:          * <!-- end-user-doc -->
118:          *
119:          * @generated
120:          */
121:         @Override
122:         public EClass getMultiDomainModelReferenceSegment() {
123:                 return multiDomainModelReferenceSegmentEClass;
124:         }
125:
126:         /**
127:          * <!-- begin-user-doc -->
128:          * <!-- end-user-doc -->
129:          *
130:          * @generated
131:          */
132:         @Override
133:         public EReference getMultiDomainModelReferenceSegment_ChildDomainModelReferences() {
134:                 return (EReference) multiDomainModelReferenceSegmentEClass.getEStructuralFeatures().get(0);
135:         }
136:
137:         /**
138:          * <!-- begin-user-doc -->
139:          * <!-- end-user-doc -->
140:          *
141:          * @generated
142:          */
143:         @Override
144:         public VMultisegmentFactory getMultisegmentFactory() {
145:                 return (VMultisegmentFactory) getEFactoryInstance();
146:         }
147:
148:         /**
149:          * <!-- begin-user-doc -->
150:          * <!-- end-user-doc -->
151:          *
152:          * @generated
153:          */
154:         private boolean isCreated = false;
155:
156:         /**
157:          * Creates the meta-model objects for the package. This method is
158:          * guarded to have no affect on any invocation but its first.
159:          * <!-- begin-user-doc -->
160:          * <!-- end-user-doc -->
161:          *
162:          * @generated
163:          */
164:         public void createPackageContents() {
165:•                if (isCreated) {
166:                         return;
167:                 }
168:                 isCreated = true;
169:
170:                 // Create classes and their features
171:                 multiDomainModelReferenceSegmentEClass = createEClass(MULTI_DOMAIN_MODEL_REFERENCE_SEGMENT);
172:                 createEReference(multiDomainModelReferenceSegmentEClass,
173:                         MULTI_DOMAIN_MODEL_REFERENCE_SEGMENT__CHILD_DOMAIN_MODEL_REFERENCES);
174:         }
175:
176:         /**
177:          * <!-- begin-user-doc -->
178:          * <!-- end-user-doc -->
179:          *
180:          * @generated
181:          */
182:         private boolean isInitialized = false;
183:
184:         /**
185:          * Complete the initialization of the package and its meta-model. This
186:          * method is guarded to have no affect on any invocation but its first.
187:          * <!-- begin-user-doc -->
188:          * <!-- end-user-doc -->
189:          *
190:          * @generated
191:          */
192:         public void initializePackageContents() {
193:•                if (isInitialized) {
194:                         return;
195:                 }
196:                 isInitialized = true;
197:
198:                 // Initialize package
199:                 setName(eNAME);
200:                 setNsPrefix(eNS_PREFIX);
201:                 setNsURI(eNS_URI);
202:
203:                 // Obtain other dependent packages
204:                 final VViewPackage theViewPackage = (VViewPackage) EPackage.Registry.INSTANCE.getEPackage(VViewPackage.eNS_URI);
205:
206:                 // Create type parameters
207:
208:                 // Set bounds for type parameters
209:
210:                 // Add supertypes to classes
211:                 multiDomainModelReferenceSegmentEClass.getESuperTypes()
212:                         .add(theViewPackage.getFeatureDomainModelReferenceSegment());
213:
214:                 // Initialize classes and features; add operations and parameters
215:                 initEClass(multiDomainModelReferenceSegmentEClass, VMultiDomainModelReferenceSegment.class,
216:                         "MultiDomainModelReferenceSegment", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
217:                 initEReference(getMultiDomainModelReferenceSegment_ChildDomainModelReferences(),
218:                         theViewPackage.getDomainModelReference(), null, "childDomainModelReferences", null, 0, -1, //$NON-NLS-1$
219:                         VMultiDomainModelReferenceSegment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
220:                         !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
221:
222:                 // Create resource
223:                 createResource(eNS_URI);
224:         }
225:
226: } // VMultisegmentPackageImpl