View Javadoc
1   // license-header java merge-point
2   //
3   // Attention: Generated code! Do not modify by hand!
4   // Generated by: hibernate/HibernateSearchProperties.vsl in andromda-spring-cartridge.
5   //
6   package fr.ifremer.quadrige3.core.dao;
7   
8   /*-
9    * #%L
10   * Quadrige3 Core :: Client API
11   * %%
12   * Copyright (C) 2017 - 2024 Ifremer
13   * %%
14   * This program is free software: you can redistribute it and/or modify
15   * it under the terms of the GNU Affero General Public License as published by
16   * the Free Software Foundation, either version 3 of the License, or
17   * (at your option) any later version.
18   * 
19   * This program is distributed in the hope that it will be useful,
20   * but WITHOUT ANY WARRANTY; without even the implied warranty of
21   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
22   * GNU General Public License for more details.
23   * 
24   * You should have received a copy of the GNU Affero General Public License
25   * along with this program.  If not, see <http://www.gnu.org/licenses/>.
26   * #L%
27   */
28  import fr.ifremer.quadrige3.core.dao.administration.metaprogamme.MetaprogrammeImpl;
29  import fr.ifremer.quadrige3.core.dao.administration.metaprogamme.MonLocMetImpl;
30  import fr.ifremer.quadrige3.core.dao.administration.metaprogamme.PmfmMetImpl;
31  import fr.ifremer.quadrige3.core.dao.administration.program.AlrtMonLocProgImpl;
32  import fr.ifremer.quadrige3.core.dao.administration.program.MonLocProgImpl;
33  import fr.ifremer.quadrige3.core.dao.administration.program.MorPeriodImpl;
34  import fr.ifremer.quadrige3.core.dao.administration.program.MoratoriumImpl;
35  import fr.ifremer.quadrige3.core.dao.administration.program.PmfmMorImpl;
36  import fr.ifremer.quadrige3.core.dao.administration.program.ProgDepProgPrivImpl;
37  import fr.ifremer.quadrige3.core.dao.administration.program.ProgQuserProgPrivImpl;
38  import fr.ifremer.quadrige3.core.dao.administration.program.ProgramImpl;
39  import fr.ifremer.quadrige3.core.dao.administration.program.ProgramPrivilegeImpl;
40  import fr.ifremer.quadrige3.core.dao.administration.strategy.AppliedPeriodImpl;
41  import fr.ifremer.quadrige3.core.dao.administration.strategy.AppliedStrategyImpl;
42  import fr.ifremer.quadrige3.core.dao.administration.strategy.PmfmAppliedStrategyImpl;
43  import fr.ifremer.quadrige3.core.dao.administration.strategy.PmfmStrategyImpl;
44  import fr.ifremer.quadrige3.core.dao.administration.strategy.StrategyImpl;
45  import fr.ifremer.quadrige3.core.dao.administration.strategy.UiFunctionImpl;
46  import fr.ifremer.quadrige3.core.dao.administration.user.DepartmentImpl;
47  import fr.ifremer.quadrige3.core.dao.administration.user.PrivilegeTransferImpl;
48  import fr.ifremer.quadrige3.core.dao.administration.user.QuserImpl;
49  import fr.ifremer.quadrige3.core.dao.data.aquaculture.AgeGroupImpl;
50  import fr.ifremer.quadrige3.core.dao.data.aquaculture.BatchImpl;
51  import fr.ifremer.quadrige3.core.dao.data.aquaculture.BreedingPhaseTypeImpl;
52  import fr.ifremer.quadrige3.core.dao.data.aquaculture.BreedingStructureImpl;
53  import fr.ifremer.quadrige3.core.dao.data.aquaculture.BreedingSystemImpl;
54  import fr.ifremer.quadrige3.core.dao.data.aquaculture.HistoricalAccountImpl;
55  import fr.ifremer.quadrige3.core.dao.data.aquaculture.InitialPopulationImpl;
56  import fr.ifremer.quadrige3.core.dao.data.aquaculture.PloidyImpl;
57  import fr.ifremer.quadrige3.core.dao.data.aquaculture.ProductionSectorImpl;
58  import fr.ifremer.quadrige3.core.dao.data.event.EventImpl;
59  import fr.ifremer.quadrige3.core.dao.data.measurement.MeasurementFileImpl;
60  import fr.ifremer.quadrige3.core.dao.data.measurement.MeasurementImpl;
61  import fr.ifremer.quadrige3.core.dao.data.measurement.TaxonMeasurementImpl;
62  import fr.ifremer.quadrige3.core.dao.data.photo.PhotoImpl;
63  import fr.ifremer.quadrige3.core.dao.data.sample.SampleImpl;
64  import fr.ifremer.quadrige3.core.dao.data.samplingoperation.SamplingOperationImpl;
65  import fr.ifremer.quadrige3.core.dao.data.survey.CampaignImpl;
66  import fr.ifremer.quadrige3.core.dao.data.survey.FieldObservationImpl;
67  import fr.ifremer.quadrige3.core.dao.data.survey.MeasuredProfileImpl;
68  import fr.ifremer.quadrige3.core.dao.data.survey.ObservedHabitatImpl;
69  import fr.ifremer.quadrige3.core.dao.data.survey.OccasionImpl;
70  import fr.ifremer.quadrige3.core.dao.data.survey.ShipImpl;
71  import fr.ifremer.quadrige3.core.dao.data.survey.SurveyImpl;
72  import fr.ifremer.quadrige3.core.dao.data.survey.VideoImpl;
73  import fr.ifremer.quadrige3.core.dao.referential.AcquisitionLevelImpl;
74  import fr.ifremer.quadrige3.core.dao.referential.AnalysisInstrumentImpl;
75  import fr.ifremer.quadrige3.core.dao.referential.ClassifiedShellfishAreaImpl;
76  import fr.ifremer.quadrige3.core.dao.referential.DepthLevelImpl;
77  import fr.ifremer.quadrige3.core.dao.referential.DocumentTypeImpl;
78  import fr.ifremer.quadrige3.core.dao.referential.DredgingAreaTypeImpl;
79  import fr.ifremer.quadrige3.core.dao.referential.DredgingTargetAreaImpl;
80  import fr.ifremer.quadrige3.core.dao.referential.EventTypeImpl;
81  import fr.ifremer.quadrige3.core.dao.referential.FrequencyImpl;
82  import fr.ifremer.quadrige3.core.dao.referential.NumericalPrecisionImpl;
83  import fr.ifremer.quadrige3.core.dao.referential.ObjectTypeImpl;
84  import fr.ifremer.quadrige3.core.dao.referential.ObservationTypologyImpl;
85  import fr.ifremer.quadrige3.core.dao.referential.PhotoTypeImpl;
86  import fr.ifremer.quadrige3.core.dao.referential.PositionningTypeImpl;
87  import fr.ifremer.quadrige3.core.dao.referential.PrecisionTypeImpl;
88  import fr.ifremer.quadrige3.core.dao.referential.PrivilegeImpl;
89  import fr.ifremer.quadrige3.core.dao.referential.QualityFlagImpl;
90  import fr.ifremer.quadrige3.core.dao.referential.ResourceTypeImpl;
91  import fr.ifremer.quadrige3.core.dao.referential.SamplingEquipmentImpl;
92  import fr.ifremer.quadrige3.core.dao.referential.StatusImpl;
93  import fr.ifremer.quadrige3.core.dao.referential.TaxonGroupTypeImpl;
94  import fr.ifremer.quadrige3.core.dao.referential.UnitImpl;
95  import fr.ifremer.quadrige3.core.dao.referential.WfdWaterBodyImpl;
96  import fr.ifremer.quadrige3.core.dao.referential.eunis.EunisEquivCodeTypologyImpl;
97  import fr.ifremer.quadrige3.core.dao.referential.eunis.EunisEquivalenceImpl;
98  import fr.ifremer.quadrige3.core.dao.referential.eunis.EunisTypologyImpl;
99  import fr.ifremer.quadrige3.core.dao.referential.eunis.EunisVersionImpl;
100 import fr.ifremer.quadrige3.core.dao.referential.monitoringLocation.AlrtMonLocOrderItemImpl;
101 import fr.ifremer.quadrige3.core.dao.referential.monitoringLocation.AlrtMonitoringLocationImpl;
102 import fr.ifremer.quadrige3.core.dao.referential.monitoringLocation.CoordinatesTransformationImpl;
103 import fr.ifremer.quadrige3.core.dao.referential.monitoringLocation.HarbourImpl;
104 import fr.ifremer.quadrige3.core.dao.referential.monitoringLocation.MonLocOrderItemImpl;
105 import fr.ifremer.quadrige3.core.dao.referential.monitoringLocation.MonitoringLocationImpl;
106 import fr.ifremer.quadrige3.core.dao.referential.monitoringLocation.PositionningSystemImpl;
107 import fr.ifremer.quadrige3.core.dao.referential.monitoringLocation.ProjectionSystemImpl;
108 import fr.ifremer.quadrige3.core.dao.referential.monitoringLocation.TaxonGroupPositionImpl;
109 import fr.ifremer.quadrige3.core.dao.referential.monitoringLocation.TaxonPositionImpl;
110 import fr.ifremer.quadrige3.core.dao.referential.order.AlrtOrderItemImpl;
111 import fr.ifremer.quadrige3.core.dao.referential.order.AlrtOrderItemTypeImpl;
112 import fr.ifremer.quadrige3.core.dao.referential.order.OrderItemImpl;
113 import fr.ifremer.quadrige3.core.dao.referential.order.OrderItemTypeImpl;
114 import fr.ifremer.quadrige3.core.dao.referential.pmfm.FractionImpl;
115 import fr.ifremer.quadrige3.core.dao.referential.pmfm.MatrixImpl;
116 import fr.ifremer.quadrige3.core.dao.referential.pmfm.MethodImpl;
117 import fr.ifremer.quadrige3.core.dao.referential.pmfm.ParameterGroupImpl;
118 import fr.ifremer.quadrige3.core.dao.referential.pmfm.ParameterImpl;
119 import fr.ifremer.quadrige3.core.dao.referential.pmfm.PmfmImpl;
120 import fr.ifremer.quadrige3.core.dao.referential.pmfm.PmfmQualValueImpl;
121 import fr.ifremer.quadrige3.core.dao.referential.pmfm.QualitativeValueImpl;
122 import fr.ifremer.quadrige3.core.dao.referential.taxon.AlternativeTaxonImpl;
123 import fr.ifremer.quadrige3.core.dao.referential.taxon.AlternativeTaxonOriginImpl;
124 import fr.ifremer.quadrige3.core.dao.referential.taxon.AuthorImpl;
125 import fr.ifremer.quadrige3.core.dao.referential.taxon.CitationImpl;
126 import fr.ifremer.quadrige3.core.dao.referential.taxon.ReferenceDocumentImpl;
127 import fr.ifremer.quadrige3.core.dao.referential.taxon.ReferenceTaxonImpl;
128 import fr.ifremer.quadrige3.core.dao.referential.taxon.TaxonGroupHistoricalRecordImpl;
129 import fr.ifremer.quadrige3.core.dao.referential.taxon.TaxonGroupImpl;
130 import fr.ifremer.quadrige3.core.dao.referential.taxon.TaxonGroupInformationImpl;
131 import fr.ifremer.quadrige3.core.dao.referential.taxon.TaxonInformationHistoryImpl;
132 import fr.ifremer.quadrige3.core.dao.referential.taxon.TaxonInformationImpl;
133 import fr.ifremer.quadrige3.core.dao.referential.taxon.TaxonNameHistoryImpl;
134 import fr.ifremer.quadrige3.core.dao.referential.taxon.TaxonNameImpl;
135 import fr.ifremer.quadrige3.core.dao.referential.taxon.TaxonomicLevelImpl;
136 import fr.ifremer.quadrige3.core.dao.referential.taxon.VirtualComponentImpl;
137 import fr.ifremer.quadrige3.core.dao.referential.transcribing.TranscribingItemImpl;
138 import fr.ifremer.quadrige3.core.dao.referential.transcribing.TranscribingItemTypeImpl;
139 import fr.ifremer.quadrige3.core.dao.referential.transcribing.TranscribingSideImpl;
140 import fr.ifremer.quadrige3.core.dao.system.BugReportImpl;
141 import fr.ifremer.quadrige3.core.dao.system.CampaignAreaImpl;
142 import fr.ifremer.quadrige3.core.dao.system.CampaignLineImpl;
143 import fr.ifremer.quadrige3.core.dao.system.CampaignPointImpl;
144 import fr.ifremer.quadrige3.core.dao.system.CodeSizeImpl;
145 import fr.ifremer.quadrige3.core.dao.system.CompliantOsImpl;
146 import fr.ifremer.quadrige3.core.dao.system.ComputeFunctionImpl;
147 import fr.ifremer.quadrige3.core.dao.system.ComputeMeasurementImpl;
148 import fr.ifremer.quadrige3.core.dao.system.EventAreaImpl;
149 import fr.ifremer.quadrige3.core.dao.system.EventLineImpl;
150 import fr.ifremer.quadrige3.core.dao.system.EventPointImpl;
151 import fr.ifremer.quadrige3.core.dao.system.JobImpl;
152 import fr.ifremer.quadrige3.core.dao.system.LocPointImpl;
153 import fr.ifremer.quadrige3.core.dao.system.LocationImpl;
154 import fr.ifremer.quadrige3.core.dao.system.MapProjectImpl;
155 import fr.ifremer.quadrige3.core.dao.system.MonLocAreaImpl;
156 import fr.ifremer.quadrige3.core.dao.system.MonLocHisGeomImpl;
157 import fr.ifremer.quadrige3.core.dao.system.MonLocLineImpl;
158 import fr.ifremer.quadrige3.core.dao.system.MonLocPointImpl;
159 import fr.ifremer.quadrige3.core.dao.system.OccasAreaImpl;
160 import fr.ifremer.quadrige3.core.dao.system.OccasLineImpl;
161 import fr.ifremer.quadrige3.core.dao.system.OccasPointImpl;
162 import fr.ifremer.quadrige3.core.dao.system.ProdSectorAreaImpl;
163 import fr.ifremer.quadrige3.core.dao.system.QualificationHistoryImpl;
164 import fr.ifremer.quadrige3.core.dao.system.SamplingOperAreaImpl;
165 import fr.ifremer.quadrige3.core.dao.system.SamplingOperLineImpl;
166 import fr.ifremer.quadrige3.core.dao.system.SamplingOperPointImpl;
167 import fr.ifremer.quadrige3.core.dao.system.SelectionImpl;
168 import fr.ifremer.quadrige3.core.dao.system.SelectionItemImpl;
169 import fr.ifremer.quadrige3.core.dao.system.SextantLayerImpl;
170 import fr.ifremer.quadrige3.core.dao.system.SurveyAreaImpl;
171 import fr.ifremer.quadrige3.core.dao.system.SurveyLineImpl;
172 import fr.ifremer.quadrige3.core.dao.system.SurveyPointImpl;
173 import fr.ifremer.quadrige3.core.dao.system.ValidationHistoryImpl;
174 import fr.ifremer.quadrige3.core.dao.system.context.ContextImpl;
175 import fr.ifremer.quadrige3.core.dao.system.context.DefaultValueImpl;
176 import fr.ifremer.quadrige3.core.dao.system.context.PmfmContextOrderImpl;
177 import fr.ifremer.quadrige3.core.dao.system.extraction.ExtractAgregationLevelImpl;
178 import fr.ifremer.quadrige3.core.dao.system.extraction.ExtractFieldImpl;
179 import fr.ifremer.quadrige3.core.dao.system.extraction.ExtractFileTypeImpl;
180 import fr.ifremer.quadrige3.core.dao.system.extraction.ExtractFilterImpl;
181 import fr.ifremer.quadrige3.core.dao.system.extraction.ExtractGroupTypePmfmImpl;
182 import fr.ifremer.quadrige3.core.dao.system.extraction.ExtractSelectedGeometryImpl;
183 import fr.ifremer.quadrige3.core.dao.system.extraction.ExtractSurveyPeriodImpl;
184 import fr.ifremer.quadrige3.core.dao.system.extraction.ExtractTableImpl;
185 import fr.ifremer.quadrige3.core.dao.system.extraction.ExtractTableTypeImpl;
186 import fr.ifremer.quadrige3.core.dao.system.filter.FilterBlockImpl;
187 import fr.ifremer.quadrige3.core.dao.system.filter.FilterCriteriaImpl;
188 import fr.ifremer.quadrige3.core.dao.system.filter.FilterCriteriaTypeImpl;
189 import fr.ifremer.quadrige3.core.dao.system.filter.FilterCriteriaValueImpl;
190 import fr.ifremer.quadrige3.core.dao.system.filter.FilterImpl;
191 import fr.ifremer.quadrige3.core.dao.system.filter.FilterOperatorTypeImpl;
192 import fr.ifremer.quadrige3.core.dao.system.filter.FilterTypeImpl;
193 import fr.ifremer.quadrige3.core.dao.system.rule.FunctionImpl;
194 import fr.ifremer.quadrige3.core.dao.system.rule.FunctionParameterImpl;
195 import fr.ifremer.quadrige3.core.dao.system.rule.RuleGroupImpl;
196 import fr.ifremer.quadrige3.core.dao.system.rule.RuleImpl;
197 import fr.ifremer.quadrige3.core.dao.system.rule.RuleListImpl;
198 import fr.ifremer.quadrige3.core.dao.system.rule.RuleParameterImpl;
199 import fr.ifremer.quadrige3.core.dao.system.rule.RulePmfmImpl;
200 import fr.ifremer.quadrige3.core.dao.system.rule.RulePreconditionImpl;
201 import fr.ifremer.quadrige3.core.dao.system.synchronization.DeletedItemHistoryImpl;
202 import fr.ifremer.quadrige3.core.dao.system.synchronization.TempQueryParameterImpl;
203 import fr.ifremer.quadrige3.core.dao.system.synchronization.UpdatedItemHistoryImpl;
204 import fr.ifremer.quadrige3.core.dao.system.versionning.SystemVersionImpl;
205 import java.util.Arrays;
206 import java.util.Collection;
207 import java.util.HashMap;
208 import java.util.Map;
209 import org.apache.commons.collections.CollectionUtils;
210 import org.apache.commons.collections.Predicate;
211 
212 /**
213  * Stores the embedded values and associations of all entities in the system by type.
214  * Is used to determine the appropriate parameter name when an embedded value's property
215  * is referenced as the attribute to search by (as opposed to an association).
216  *
217  * @author Chad Brandon
218  */
219 @SuppressWarnings({"unchecked"})
220 public class CriteriaSearchProperties
221 {
222     private static final Map embeddedValuesByType = new HashMap();
223     private static final Map embeddedValueNamesByType = new HashMap();
224     private static final Map navigableAssociationEndsByType = new HashMap();
225 
226     static
227     {
228         initializeCampaignArea1();
229         initializeOccasPoint2();
230         initializeMonLocHisGeom3();
231         initializeComputeFunction4();
232         initializeMapProject5();
233         initializeJob6();
234         initializeCompliantOs7();
235         initializeLocPoint8();
236         initializeOccasLine9();
237         initializeSextantLayer10();
238         initializeOccasArea11();
239         initializeSurveyLine12();
240         initializeSurveyArea13();
241         initializeProdSectorArea14();
242         initializeCodeSize15();
243         initializeComputeMeasurement16();
244         initializeSelection17();
245         initializeEventPoint18();
246         initializeMonLocPoint19();
247         initializeQualificationHistory20();
248         initializeCampaignPoint21();
249         initializeSamplingOperPoint22();
250         initializeEventLine23();
251         initializeSamplingOperLine24();
252         initializeEventArea25();
253         initializeLocation26();
254         initializeMonLocLine27();
255         initializeSurveyPoint28();
256         initializeSamplingOperArea29();
257         initializeSelectionItem30();
258         initializeMonLocArea31();
259         initializeCampaignLine32();
260         initializeContext33();
261         initializeDefaultValue34();
262         initializePmfmContextOrder35();
263         initializeFilterOperatorType36();
264         initializeFilter37();
265         initializeFilterCriteriaValue38();
266         initializeFilterCriteria39();
267         initializeFilterType40();
268         initializeFilterBlock41();
269         initializeFilterCriteriaType42();
270         initializeRule43();
271         initializeRuleList44();
272         initializeRuleParameter45();
273         initializeRulePmfm46();
274         initializeFunctionParameter47();
275         initializeFunction48();
276         initializeRulePrecondition49();
277         initializeRuleGroup50();
278         initializeTempQueryParameter51();
279         initializeDeletedItemHistory52();
280         initializeUpdatedItemHistory53();
281         initializeSystemVersion54();
282         initializeExtractFilter55();
283         initializeExtractSurveyPeriod56();
284         initializeExtractTable57();
285         initializeExtractGroupTypePmfm58();
286         initializeExtractTableType59();
287         initializeExtractFileType60();
288         initializeExtractAgregationLevel61();
289         initializeExtractSelectedGeometry62();
290         initializeExtractField63();
291         initializeValidationHistory64();
292         initializeBugReport65();
293         initializeMoratorium66();
294         initializeProgramPrivilege67();
295         initializeProgram68();
296         initializePmfmMor69();
297         initializeMorPeriod70();
298         initializeProgQuserProgPriv71();
299         initializeProgDepProgPriv72();
300         initializeMonLocProg73();
301         initializeAlrtMonLocProg74();
302         initializeMetaprogramme75();
303         initializePmfmMet76();
304         initializeMonLocMet77();
305         initializeAppliedStrategy78();
306         initializeStrategy79();
307         initializePmfmStrategy80();
308         initializeUiFunction81();
309         initializePmfmAppliedStrategy82();
310         initializeAppliedPeriod83();
311         initializeQuser84();
312         initializePrivilegeTransfer85();
313         initializeDepartment86();
314         initializeEunisTypology87();
315         initializeEunisEquivCodeTypology88();
316         initializeEunisVersion89();
317         initializeEunisEquivalence90();
318         initializeTaxonPosition91();
319         initializeMonLocOrderItem92();
320         initializeCoordinatesTransformation93();
321         initializeProjectionSystem94();
322         initializeMonitoringLocation95();
323         initializeTaxonGroupPosition96();
324         initializeHarbour97();
325         initializePositionningSystem98();
326         initializeAlrtMonLocOrderItem99();
327         initializeAlrtMonitoringLocation100();
328         initializePmfm101();
329         initializeMethod102();
330         initializePmfmQualValue103();
331         initializeParameter104();
332         initializeParameterGroup105();
333         initializeMatrix106();
334         initializeFraction107();
335         initializeQualitativeValue108();
336         initializeAlternativeTaxon109();
337         initializeAuthor110();
338         initializeTaxonName111();
339         initializeReferenceDocument112();
340         initializeAlternativeTaxonOrigin113();
341         initializeTaxonNameHistory114();
342         initializeTaxonInformation115();
343         initializeReferenceTaxon116();
344         initializeTaxonGroupHistoricalRecord117();
345         initializeTaxonomicLevel118();
346         initializeTaxonInformationHistory119();
347         initializeTaxonGroupInformation120();
348         initializeCitation121();
349         initializeTaxonGroup122();
350         initializeVirtualComponent123();
351         initializeNumericalPrecision124();
352         initializePrivilege125();
353         initializeAnalysisInstrument126();
354         initializeDocumentType127();
355         initializePrecisionType128();
356         initializeStatus129();
357         initializePositionningType130();
358         initializeResourceType131();
359         initializeObservationTypology132();
360         initializeAcquisitionLevel133();
361         initializeWfdWaterBody134();
362         initializeUnit135();
363         initializeSamplingEquipment136();
364         initializeEventType137();
365         initializePhotoType138();
366         initializeTaxonGroupType139();
367         initializeDepthLevel140();
368         initializeQualityFlag141();
369         initializeClassifiedShellfishArea142();
370         initializeObjectType143();
371         initializeFrequency144();
372         initializeOrderItemType145();
373         initializeOrderItem146();
374         initializeAlrtOrderItemType147();
375         initializeAlrtOrderItem148();
376         initializeTranscribingItem149();
377         initializeTranscribingItemType150();
378         initializeTranscribingSide151();
379         initializeDredgingAreaType152();
380         initializeDredgingTargetArea153();
381         initializeMeasuredProfile154();
382         initializeVideo155();
383         initializeShip156();
384         initializeCampaign157();
385         initializeOccasion158();
386         initializeObservedHabitat159();
387         initializeFieldObservation160();
388         initializeSurvey161();
389         initializeEvent162();
390         initializeMeasurementFile163();
391         initializeTaxonMeasurement164();
392         initializeMeasurement165();
393         initializeSample166();
394         initializeSamplingOperation167();
395         initializeAgeGroup168();
396         initializeBatch169();
397         initializeHistoricalAccount170();
398         initializeBreedingStructure171();
399         initializeBreedingSystem172();
400         initializeInitialPopulation173();
401         initializePloidy174();
402         initializeBreedingPhaseType175();
403         initializeProductionSector176();
404         initializePhoto177();
405     }
406 
407     private static final void initializeCampaignArea1()
408     {
409         embeddedValueNamesByType.put(
410             CampaignAreaImpl.class,
411             null);
412         embeddedValuesByType.put(
413             CampaignAreaImpl.class,
414             null);
415         navigableAssociationEndsByType.put(
416             CampaignAreaImpl.class,
417             Arrays.asList(
418                 new PropertyType[]
419                 {
420                     new PropertyType("campaign", CampaignImpl.class)
421                 }
422             )
423         );
424     }
425 
426     private static final void initializeOccasPoint2()
427     {
428         embeddedValueNamesByType.put(
429             OccasPointImpl.class,
430             null);
431         embeddedValuesByType.put(
432             OccasPointImpl.class,
433             null);
434         navigableAssociationEndsByType.put(
435             OccasPointImpl.class,
436             Arrays.asList(
437                 new PropertyType[]
438                 {
439                     new PropertyType("occasion", OccasionImpl.class)
440                 }
441             )
442         );
443     }
444 
445     private static final void initializeMonLocHisGeom3()
446     {
447         embeddedValueNamesByType.put(
448             MonLocHisGeomImpl.class,
449             null);
450         embeddedValuesByType.put(
451             MonLocHisGeomImpl.class,
452             null);
453         navigableAssociationEndsByType.put(
454             MonLocHisGeomImpl.class,
455             Arrays.asList(
456                 new PropertyType[]
457                 {
458                     new PropertyType("posSystemId", PositionningSystemImpl.class),
459                     new PropertyType("monitoringLocation", MonitoringLocationImpl.class)
460                 }
461             )
462         );
463     }
464 
465     private static final void initializeComputeFunction4()
466     {
467         embeddedValueNamesByType.put(
468             ComputeFunctionImpl.class,
469             null);
470         embeddedValuesByType.put(
471             ComputeFunctionImpl.class,
472             null);
473         navigableAssociationEndsByType.put(
474             ComputeFunctionImpl.class,
475             Arrays.asList(
476                 new PropertyType[]
477                 {
478                     new PropertyType("compMeasIds", ComputeMeasurementImpl.class),
479                     new PropertyType("progCds", ProgramImpl.class),
480                     new PropertyType("parCds", ParameterImpl.class)
481                 }
482             )
483         );
484     }
485 
486     private static final void initializeMapProject5()
487     {
488         embeddedValueNamesByType.put(
489             MapProjectImpl.class,
490             null);
491         embeddedValuesByType.put(
492             MapProjectImpl.class,
493             null);
494         navigableAssociationEndsByType.put(
495             MapProjectImpl.class,
496             Arrays.asList(
497                 new PropertyType[]
498                 {
499                     new PropertyType("depId", DepartmentImpl.class),
500                     new PropertyType("quserId", QuserImpl.class)
501                 }
502             )
503         );
504     }
505 
506     private static final void initializeJob6()
507     {
508         embeddedValueNamesByType.put(
509             JobImpl.class,
510             null);
511         embeddedValuesByType.put(
512             JobImpl.class,
513             null);
514         navigableAssociationEndsByType.put(
515             JobImpl.class,
516             Arrays.asList(
517                 new PropertyType[]
518                 {
519                     new PropertyType("quserId", QuserImpl.class)
520                 }
521             )
522         );
523     }
524 
525     private static final void initializeCompliantOs7()
526     {
527         embeddedValueNamesByType.put(
528             CompliantOsImpl.class,
529             null);
530         embeddedValuesByType.put(
531             CompliantOsImpl.class,
532             null);
533         navigableAssociationEndsByType.put(
534             CompliantOsImpl.class,
535             null);
536     }
537 
538     private static final void initializeLocPoint8()
539     {
540         embeddedValueNamesByType.put(
541             LocPointImpl.class,
542             null);
543         embeddedValuesByType.put(
544             LocPointImpl.class,
545             null);
546         navigableAssociationEndsByType.put(
547             LocPointImpl.class,
548             Arrays.asList(
549                 new PropertyType[]
550                 {
551                     new PropertyType("location", LocationImpl.class)
552                 }
553             )
554         );
555     }
556 
557     private static final void initializeOccasLine9()
558     {
559         embeddedValueNamesByType.put(
560             OccasLineImpl.class,
561             null);
562         embeddedValuesByType.put(
563             OccasLineImpl.class,
564             null);
565         navigableAssociationEndsByType.put(
566             OccasLineImpl.class,
567             Arrays.asList(
568                 new PropertyType[]
569                 {
570                     new PropertyType("occasion", OccasionImpl.class)
571                 }
572             )
573         );
574     }
575 
576     private static final void initializeSextantLayer10()
577     {
578         embeddedValueNamesByType.put(
579             SextantLayerImpl.class,
580             null);
581         embeddedValuesByType.put(
582             SextantLayerImpl.class,
583             null);
584         navigableAssociationEndsByType.put(
585             SextantLayerImpl.class,
586             null);
587     }
588 
589     private static final void initializeOccasArea11()
590     {
591         embeddedValueNamesByType.put(
592             OccasAreaImpl.class,
593             null);
594         embeddedValuesByType.put(
595             OccasAreaImpl.class,
596             null);
597         navigableAssociationEndsByType.put(
598             OccasAreaImpl.class,
599             Arrays.asList(
600                 new PropertyType[]
601                 {
602                     new PropertyType("occasion", OccasionImpl.class)
603                 }
604             )
605         );
606     }
607 
608     private static final void initializeSurveyLine12()
609     {
610         embeddedValueNamesByType.put(
611             SurveyLineImpl.class,
612             null);
613         embeddedValuesByType.put(
614             SurveyLineImpl.class,
615             null);
616         navigableAssociationEndsByType.put(
617             SurveyLineImpl.class,
618             Arrays.asList(
619                 new PropertyType[]
620                 {
621                     new PropertyType("survey", SurveyImpl.class)
622                 }
623             )
624         );
625     }
626 
627     private static final void initializeSurveyArea13()
628     {
629         embeddedValueNamesByType.put(
630             SurveyAreaImpl.class,
631             null);
632         embeddedValuesByType.put(
633             SurveyAreaImpl.class,
634             null);
635         navigableAssociationEndsByType.put(
636             SurveyAreaImpl.class,
637             Arrays.asList(
638                 new PropertyType[]
639                 {
640                     new PropertyType("survey", SurveyImpl.class)
641                 }
642             )
643         );
644     }
645 
646     private static final void initializeProdSectorArea14()
647     {
648         embeddedValueNamesByType.put(
649             ProdSectorAreaImpl.class,
650             null);
651         embeddedValuesByType.put(
652             ProdSectorAreaImpl.class,
653             null);
654         navigableAssociationEndsByType.put(
655             ProdSectorAreaImpl.class,
656             Arrays.asList(
657                 new PropertyType[]
658                 {
659                     new PropertyType("productionSector", ProductionSectorImpl.class)
660                 }
661             )
662         );
663     }
664 
665     private static final void initializeCodeSize15()
666     {
667         embeddedValueNamesByType.put(
668             CodeSizeImpl.class,
669             null);
670         embeddedValuesByType.put(
671             CodeSizeImpl.class,
672             null);
673         navigableAssociationEndsByType.put(
674             CodeSizeImpl.class,
675             null);
676     }
677 
678     private static final void initializeComputeMeasurement16()
679     {
680         embeddedValueNamesByType.put(
681             ComputeMeasurementImpl.class,
682             null);
683         embeddedValuesByType.put(
684             ComputeMeasurementImpl.class,
685             null);
686         navigableAssociationEndsByType.put(
687             ComputeMeasurementImpl.class,
688             Arrays.asList(
689                 new PropertyType[]
690                 {
691                     new PropertyType("compFunctionCd", ComputeFunctionImpl.class)
692                 }
693             )
694         );
695     }
696 
697     private static final void initializeSelection17()
698     {
699         embeddedValueNamesByType.put(
700             SelectionImpl.class,
701             null);
702         embeddedValuesByType.put(
703             SelectionImpl.class,
704             null);
705         navigableAssociationEndsByType.put(
706             SelectionImpl.class,
707             Arrays.asList(
708                 new PropertyType[]
709                 {
710                     new PropertyType("selItemGeomObjectIds", SelectionItemImpl.class),
711                     new PropertyType("objectTypeCd", ObjectTypeImpl.class),
712                     new PropertyType("quserId", QuserImpl.class)
713                 }
714             )
715         );
716     }
717 
718     private static final void initializeEventPoint18()
719     {
720         embeddedValueNamesByType.put(
721             EventPointImpl.class,
722             null);
723         embeddedValuesByType.put(
724             EventPointImpl.class,
725             null);
726         navigableAssociationEndsByType.put(
727             EventPointImpl.class,
728             Arrays.asList(
729                 new PropertyType[]
730                 {
731                     new PropertyType("event", EventImpl.class)
732                 }
733             )
734         );
735     }
736 
737     private static final void initializeMonLocPoint19()
738     {
739         embeddedValueNamesByType.put(
740             MonLocPointImpl.class,
741             null);
742         embeddedValuesByType.put(
743             MonLocPointImpl.class,
744             null);
745         navigableAssociationEndsByType.put(
746             MonLocPointImpl.class,
747             Arrays.asList(
748                 new PropertyType[]
749                 {
750                     new PropertyType("monitoringLocation", MonitoringLocationImpl.class)
751                 }
752             )
753         );
754     }
755 
756     private static final void initializeQualificationHistory20()
757     {
758         embeddedValueNamesByType.put(
759             QualificationHistoryImpl.class,
760             null);
761         embeddedValuesByType.put(
762             QualificationHistoryImpl.class,
763             null);
764         navigableAssociationEndsByType.put(
765             QualificationHistoryImpl.class,
766             Arrays.asList(
767                 new PropertyType[]
768                 {
769                     new PropertyType("objectType", ObjectTypeImpl.class),
770                     new PropertyType("referenceTaxon", ReferenceTaxonImpl.class),
771                     new PropertyType("qualitativeValue", QualitativeValueImpl.class),
772                     new PropertyType("taxonGroup", TaxonGroupImpl.class),
773                     new PropertyType("qualityFlag", QualityFlagImpl.class),
774                     new PropertyType("quser", QuserImpl.class)
775                 }
776             )
777         );
778     }
779 
780     private static final void initializeCampaignPoint21()
781     {
782         embeddedValueNamesByType.put(
783             CampaignPointImpl.class,
784             null);
785         embeddedValuesByType.put(
786             CampaignPointImpl.class,
787             null);
788         navigableAssociationEndsByType.put(
789             CampaignPointImpl.class,
790             Arrays.asList(
791                 new PropertyType[]
792                 {
793                     new PropertyType("campaign", CampaignImpl.class)
794                 }
795             )
796         );
797     }
798 
799     private static final void initializeSamplingOperPoint22()
800     {
801         embeddedValueNamesByType.put(
802             SamplingOperPointImpl.class,
803             null);
804         embeddedValuesByType.put(
805             SamplingOperPointImpl.class,
806             null);
807         navigableAssociationEndsByType.put(
808             SamplingOperPointImpl.class,
809             Arrays.asList(
810                 new PropertyType[]
811                 {
812                     new PropertyType("samplingOperation", SamplingOperationImpl.class)
813                 }
814             )
815         );
816     }
817 
818     private static final void initializeEventLine23()
819     {
820         embeddedValueNamesByType.put(
821             EventLineImpl.class,
822             null);
823         embeddedValuesByType.put(
824             EventLineImpl.class,
825             null);
826         navigableAssociationEndsByType.put(
827             EventLineImpl.class,
828             Arrays.asList(
829                 new PropertyType[]
830                 {
831                     new PropertyType("event", EventImpl.class)
832                 }
833             )
834         );
835     }
836 
837     private static final void initializeSamplingOperLine24()
838     {
839         embeddedValueNamesByType.put(
840             SamplingOperLineImpl.class,
841             null);
842         embeddedValuesByType.put(
843             SamplingOperLineImpl.class,
844             null);
845         navigableAssociationEndsByType.put(
846             SamplingOperLineImpl.class,
847             Arrays.asList(
848                 new PropertyType[]
849                 {
850                     new PropertyType("samplingOperation", SamplingOperationImpl.class)
851                 }
852             )
853         );
854     }
855 
856     private static final void initializeEventArea25()
857     {
858         embeddedValueNamesByType.put(
859             EventAreaImpl.class,
860             null);
861         embeddedValuesByType.put(
862             EventAreaImpl.class,
863             null);
864         navigableAssociationEndsByType.put(
865             EventAreaImpl.class,
866             Arrays.asList(
867                 new PropertyType[]
868                 {
869                     new PropertyType("event", EventImpl.class)
870                 }
871             )
872         );
873     }
874 
875     private static final void initializeLocation26()
876     {
877         embeddedValueNamesByType.put(
878             LocationImpl.class,
879             null);
880         embeddedValuesByType.put(
881             LocationImpl.class,
882             null);
883         navigableAssociationEndsByType.put(
884             LocationImpl.class,
885             Arrays.asList(
886                 new PropertyType[]
887                 {
888                     new PropertyType("locPoints", LocPointImpl.class)
889                 }
890             )
891         );
892     }
893 
894     private static final void initializeMonLocLine27()
895     {
896         embeddedValueNamesByType.put(
897             MonLocLineImpl.class,
898             null);
899         embeddedValuesByType.put(
900             MonLocLineImpl.class,
901             null);
902         navigableAssociationEndsByType.put(
903             MonLocLineImpl.class,
904             Arrays.asList(
905                 new PropertyType[]
906                 {
907                     new PropertyType("monitoringLocation", MonitoringLocationImpl.class)
908                 }
909             )
910         );
911     }
912 
913     private static final void initializeSurveyPoint28()
914     {
915         embeddedValueNamesByType.put(
916             SurveyPointImpl.class,
917             null);
918         embeddedValuesByType.put(
919             SurveyPointImpl.class,
920             null);
921         navigableAssociationEndsByType.put(
922             SurveyPointImpl.class,
923             Arrays.asList(
924                 new PropertyType[]
925                 {
926                     new PropertyType("survey", SurveyImpl.class)
927                 }
928             )
929         );
930     }
931 
932     private static final void initializeSamplingOperArea29()
933     {
934         embeddedValueNamesByType.put(
935             SamplingOperAreaImpl.class,
936             null);
937         embeddedValuesByType.put(
938             SamplingOperAreaImpl.class,
939             null);
940         navigableAssociationEndsByType.put(
941             SamplingOperAreaImpl.class,
942             Arrays.asList(
943                 new PropertyType[]
944                 {
945                     new PropertyType("samplingOperation", SamplingOperationImpl.class)
946                 }
947             )
948         );
949     }
950 
951     private static final void initializeSelectionItem30()
952     {
953         embeddedValueNamesByType.put(
954             SelectionItemImpl.class,
955             null);
956         embeddedValuesByType.put(
957             SelectionItemImpl.class,
958             null);
959         navigableAssociationEndsByType.put(
960             SelectionItemImpl.class,
961             Arrays.asList(
962                 new PropertyType[]
963                 {
964                     new PropertyType("selId", SelectionImpl.class)
965                 }
966             )
967         );
968     }
969 
970     private static final void initializeMonLocArea31()
971     {
972         embeddedValueNamesByType.put(
973             MonLocAreaImpl.class,
974             null);
975         embeddedValuesByType.put(
976             MonLocAreaImpl.class,
977             null);
978         navigableAssociationEndsByType.put(
979             MonLocAreaImpl.class,
980             Arrays.asList(
981                 new PropertyType[]
982                 {
983                     new PropertyType("monitoringLocation", MonitoringLocationImpl.class)
984                 }
985             )
986         );
987     }
988 
989     private static final void initializeCampaignLine32()
990     {
991         embeddedValueNamesByType.put(
992             CampaignLineImpl.class,
993             null);
994         embeddedValuesByType.put(
995             CampaignLineImpl.class,
996             null);
997         navigableAssociationEndsByType.put(
998             CampaignLineImpl.class,
999             Arrays.asList(
1000                 new PropertyType[]
1001                 {
1002                     new PropertyType("campaign", CampaignImpl.class)
1003                 }
1004             )
1005         );
1006     }
1007 
1008     private static final void initializeContext33()
1009     {
1010         embeddedValueNamesByType.put(
1011             ContextImpl.class,
1012             null);
1013         embeddedValuesByType.put(
1014             ContextImpl.class,
1015             null);
1016         navigableAssociationEndsByType.put(
1017             ContextImpl.class,
1018             Arrays.asList(
1019                 new PropertyType[]
1020                 {
1021                     new PropertyType("status", StatusImpl.class),
1022                     new PropertyType("filters", FilterImpl.class),
1023                     new PropertyType("defaultValues", DefaultValueImpl.class),
1024                     new PropertyType("mapProject", MapProjectImpl.class),
1025                     new PropertyType("departments", DepartmentImpl.class),
1026                     new PropertyType("quser", QuserImpl.class),
1027                     new PropertyType("orderItemType", OrderItemTypeImpl.class)
1028                 }
1029             )
1030         );
1031     }
1032 
1033     private static final void initializeDefaultValue34()
1034     {
1035         embeddedValueNamesByType.put(
1036             DefaultValueImpl.class,
1037             null);
1038         embeddedValuesByType.put(
1039             DefaultValueImpl.class,
1040             null);
1041         navigableAssociationEndsByType.put(
1042             DefaultValueImpl.class,
1043             Arrays.asList(
1044                 new PropertyType[]
1045                 {
1046                     new PropertyType("context", ContextImpl.class)
1047                 }
1048             )
1049         );
1050     }
1051 
1052     private static final void initializePmfmContextOrder35()
1053     {
1054         embeddedValueNamesByType.put(
1055             PmfmContextOrderImpl.class,
1056             null);
1057         embeddedValuesByType.put(
1058             PmfmContextOrderImpl.class,
1059             null);
1060         navigableAssociationEndsByType.put(
1061             PmfmContextOrderImpl.class,
1062             Arrays.asList(
1063                 new PropertyType[]
1064                 {
1065                     new PropertyType("context", ContextImpl.class),
1066                     new PropertyType("pmfm", PmfmImpl.class)
1067                 }
1068             )
1069         );
1070     }
1071 
1072     private static final void initializeFilterOperatorType36()
1073     {
1074         embeddedValueNamesByType.put(
1075             FilterOperatorTypeImpl.class,
1076             null);
1077         embeddedValuesByType.put(
1078             FilterOperatorTypeImpl.class,
1079             null);
1080         navigableAssociationEndsByType.put(
1081             FilterOperatorTypeImpl.class,
1082             null);
1083     }
1084 
1085     private static final void initializeFilter37()
1086     {
1087         embeddedValueNamesByType.put(
1088             FilterImpl.class,
1089             null);
1090         embeddedValuesByType.put(
1091             FilterImpl.class,
1092             null);
1093         navigableAssociationEndsByType.put(
1094             FilterImpl.class,
1095             Arrays.asList(
1096                 new PropertyType[]
1097                 {
1098                     new PropertyType("department", DepartmentImpl.class),
1099                     new PropertyType("filterBlocks", FilterBlockImpl.class),
1100                     new PropertyType("quser", QuserImpl.class),
1101                     new PropertyType("filterType", FilterTypeImpl.class),
1102                     new PropertyType("extractFilter", ExtractFilterImpl.class)
1103                 }
1104             )
1105         );
1106     }
1107 
1108     private static final void initializeFilterCriteriaValue38()
1109     {
1110         embeddedValueNamesByType.put(
1111             FilterCriteriaValueImpl.class,
1112             null);
1113         embeddedValuesByType.put(
1114             FilterCriteriaValueImpl.class,
1115             null);
1116         navigableAssociationEndsByType.put(
1117             FilterCriteriaValueImpl.class,
1118             Arrays.asList(
1119                 new PropertyType[]
1120                 {
1121                     new PropertyType("filterCriteria", FilterCriteriaImpl.class)
1122                 }
1123             )
1124         );
1125     }
1126 
1127     private static final void initializeFilterCriteria39()
1128     {
1129         embeddedValueNamesByType.put(
1130             FilterCriteriaImpl.class,
1131             null);
1132         embeddedValuesByType.put(
1133             FilterCriteriaImpl.class,
1134             null);
1135         navigableAssociationEndsByType.put(
1136             FilterCriteriaImpl.class,
1137             Arrays.asList(
1138                 new PropertyType[]
1139                 {
1140                     new PropertyType("filterCriteriaType", FilterCriteriaTypeImpl.class),
1141                     new PropertyType("filterOperatorType", FilterOperatorTypeImpl.class),
1142                     new PropertyType("filterCriteriaValues", FilterCriteriaValueImpl.class),
1143                     new PropertyType("filterBlock", FilterBlockImpl.class)
1144                 }
1145             )
1146         );
1147     }
1148 
1149     private static final void initializeFilterType40()
1150     {
1151         embeddedValueNamesByType.put(
1152             FilterTypeImpl.class,
1153             null);
1154         embeddedValuesByType.put(
1155             FilterTypeImpl.class,
1156             null);
1157         navigableAssociationEndsByType.put(
1158             FilterTypeImpl.class,
1159             null);
1160     }
1161 
1162     private static final void initializeFilterBlock41()
1163     {
1164         embeddedValueNamesByType.put(
1165             FilterBlockImpl.class,
1166             null);
1167         embeddedValuesByType.put(
1168             FilterBlockImpl.class,
1169             null);
1170         navigableAssociationEndsByType.put(
1171             FilterBlockImpl.class,
1172             Arrays.asList(
1173                 new PropertyType[]
1174                 {
1175                     new PropertyType("filter", FilterImpl.class),
1176                     new PropertyType("filterCriterias", FilterCriteriaImpl.class)
1177                 }
1178             )
1179         );
1180     }
1181 
1182     private static final void initializeFilterCriteriaType42()
1183     {
1184         embeddedValueNamesByType.put(
1185             FilterCriteriaTypeImpl.class,
1186             null);
1187         embeddedValuesByType.put(
1188             FilterCriteriaTypeImpl.class,
1189             null);
1190         navigableAssociationEndsByType.put(
1191             FilterCriteriaTypeImpl.class,
1192             null);
1193     }
1194 
1195     private static final void initializeRule43()
1196     {
1197         embeddedValueNamesByType.put(
1198             RuleImpl.class,
1199             null);
1200         embeddedValuesByType.put(
1201             RuleImpl.class,
1202             null);
1203         navigableAssociationEndsByType.put(
1204             RuleImpl.class,
1205             Arrays.asList(
1206                 new PropertyType[]
1207                 {
1208                     new PropertyType("ruleList", RuleListImpl.class),
1209                     new PropertyType("ruleParameters", RuleParameterImpl.class),
1210                     new PropertyType("function", FunctionImpl.class),
1211                     new PropertyType("rulePmfms", RulePmfmImpl.class),
1212                     new PropertyType("rulePreconditions", RulePreconditionImpl.class),
1213                     new PropertyType("ruleGroups", RuleGroupImpl.class)
1214                 }
1215             )
1216         );
1217     }
1218 
1219     private static final void initializeRuleList44()
1220     {
1221         embeddedValueNamesByType.put(
1222             RuleListImpl.class,
1223             null);
1224         embeddedValuesByType.put(
1225             RuleListImpl.class,
1226             null);
1227         navigableAssociationEndsByType.put(
1228             RuleListImpl.class,
1229             Arrays.asList(
1230                 new PropertyType[]
1231                 {
1232                     new PropertyType("status", StatusImpl.class),
1233                     new PropertyType("programs", ProgramImpl.class),
1234                     new PropertyType("rules", RuleImpl.class),
1235                     new PropertyType("controledDepartments", DepartmentImpl.class),
1236                     new PropertyType("respDepartments", DepartmentImpl.class),
1237                     new PropertyType("qusers", QuserImpl.class)
1238                 }
1239             )
1240         );
1241     }
1242 
1243     private static final void initializeRuleParameter45()
1244     {
1245         embeddedValueNamesByType.put(
1246             RuleParameterImpl.class,
1247             null);
1248         embeddedValuesByType.put(
1249             RuleParameterImpl.class,
1250             null);
1251         navigableAssociationEndsByType.put(
1252             RuleParameterImpl.class,
1253             Arrays.asList(
1254                 new PropertyType[]
1255                 {
1256                     new PropertyType("functionParameter", FunctionParameterImpl.class),
1257                     new PropertyType("rule", RuleImpl.class)
1258                 }
1259             )
1260         );
1261     }
1262 
1263     private static final void initializeRulePmfm46()
1264     {
1265         embeddedValueNamesByType.put(
1266             RulePmfmImpl.class,
1267             null);
1268         embeddedValuesByType.put(
1269             RulePmfmImpl.class,
1270             null);
1271         navigableAssociationEndsByType.put(
1272             RulePmfmImpl.class,
1273             Arrays.asList(
1274                 new PropertyType[]
1275                 {
1276                     new PropertyType("unit", UnitImpl.class),
1277                     new PropertyType("matrix", MatrixImpl.class),
1278                     new PropertyType("method", MethodImpl.class),
1279                     new PropertyType("parameter", ParameterImpl.class),
1280                     new PropertyType("fraction", FractionImpl.class),
1281                     new PropertyType("rule", RuleImpl.class)
1282                 }
1283             )
1284         );
1285     }
1286 
1287     private static final void initializeFunctionParameter47()
1288     {
1289         embeddedValueNamesByType.put(
1290             FunctionParameterImpl.class,
1291             null);
1292         embeddedValuesByType.put(
1293             FunctionParameterImpl.class,
1294             null);
1295         navigableAssociationEndsByType.put(
1296             FunctionParameterImpl.class,
1297             Arrays.asList(
1298                 new PropertyType[]
1299                 {
1300                     new PropertyType("function", FunctionImpl.class)
1301                 }
1302             )
1303         );
1304     }
1305 
1306     private static final void initializeFunction48()
1307     {
1308         embeddedValueNamesByType.put(
1309             FunctionImpl.class,
1310             null);
1311         embeddedValuesByType.put(
1312             FunctionImpl.class,
1313             null);
1314         navigableAssociationEndsByType.put(
1315             FunctionImpl.class,
1316             Arrays.asList(
1317                 new PropertyType[]
1318                 {
1319                     new PropertyType("functionParameters", FunctionParameterImpl.class)
1320                 }
1321             )
1322         );
1323     }
1324 
1325     private static final void initializeRulePrecondition49()
1326     {
1327         embeddedValueNamesByType.put(
1328             RulePreconditionImpl.class,
1329             null);
1330         embeddedValuesByType.put(
1331             RulePreconditionImpl.class,
1332             null);
1333         navigableAssociationEndsByType.put(
1334             RulePreconditionImpl.class,
1335             Arrays.asList(
1336                 new PropertyType[]
1337                 {
1338                     new PropertyType("rule", RuleImpl.class),
1339                     new PropertyType("usedRule", RuleImpl.class)
1340                 }
1341             )
1342         );
1343     }
1344 
1345     private static final void initializeRuleGroup50()
1346     {
1347         embeddedValueNamesByType.put(
1348             RuleGroupImpl.class,
1349             null);
1350         embeddedValuesByType.put(
1351             RuleGroupImpl.class,
1352             null);
1353         navigableAssociationEndsByType.put(
1354             RuleGroupImpl.class,
1355             Arrays.asList(
1356                 new PropertyType[]
1357                 {
1358                     new PropertyType("rule", RuleImpl.class)
1359                 }
1360             )
1361         );
1362     }
1363 
1364     private static final void initializeTempQueryParameter51()
1365     {
1366         embeddedValueNamesByType.put(
1367             TempQueryParameterImpl.class,
1368             null);
1369         embeddedValuesByType.put(
1370             TempQueryParameterImpl.class,
1371             null);
1372         navigableAssociationEndsByType.put(
1373             TempQueryParameterImpl.class,
1374             null);
1375     }
1376 
1377     private static final void initializeDeletedItemHistory52()
1378     {
1379         embeddedValueNamesByType.put(
1380             DeletedItemHistoryImpl.class,
1381             null);
1382         embeddedValuesByType.put(
1383             DeletedItemHistoryImpl.class,
1384             null);
1385         navigableAssociationEndsByType.put(
1386             DeletedItemHistoryImpl.class,
1387             Arrays.asList(
1388                 new PropertyType[]
1389                 {
1390                     new PropertyType("objectType", ObjectTypeImpl.class),
1391                     new PropertyType("recorderDepartment", DepartmentImpl.class),
1392                     new PropertyType("recorderQuser", QuserImpl.class)
1393                 }
1394             )
1395         );
1396     }
1397 
1398     private static final void initializeUpdatedItemHistory53()
1399     {
1400         embeddedValueNamesByType.put(
1401             UpdatedItemHistoryImpl.class,
1402             null);
1403         embeddedValuesByType.put(
1404             UpdatedItemHistoryImpl.class,
1405             null);
1406         navigableAssociationEndsByType.put(
1407             UpdatedItemHistoryImpl.class,
1408             Arrays.asList(
1409                 new PropertyType[]
1410                 {
1411                     new PropertyType("objectType", ObjectTypeImpl.class),
1412                     new PropertyType("recorderDepartment", DepartmentImpl.class),
1413                     new PropertyType("recorderQuser", QuserImpl.class)
1414                 }
1415             )
1416         );
1417     }
1418 
1419     private static final void initializeSystemVersion54()
1420     {
1421         embeddedValueNamesByType.put(
1422             SystemVersionImpl.class,
1423             null);
1424         embeddedValuesByType.put(
1425             SystemVersionImpl.class,
1426             null);
1427         navigableAssociationEndsByType.put(
1428             SystemVersionImpl.class,
1429             null);
1430     }
1431 
1432     private static final void initializeExtractFilter55()
1433     {
1434         embeddedValueNamesByType.put(
1435             ExtractFilterImpl.class,
1436             null);
1437         embeddedValuesByType.put(
1438             ExtractFilterImpl.class,
1439             null);
1440         navigableAssociationEndsByType.put(
1441             ExtractFilterImpl.class,
1442             Arrays.asList(
1443                 new PropertyType[]
1444                 {
1445                     new PropertyType("extractTableType", ExtractTableTypeImpl.class),
1446                     new PropertyType("extractSurveyPeriods", ExtractSurveyPeriodImpl.class),
1447                     new PropertyType("extractGroupTypePmfms", ExtractGroupTypePmfmImpl.class),
1448                     new PropertyType("extractAgregationLevel", ExtractAgregationLevelImpl.class),
1449                     new PropertyType("extractFields", ExtractFieldImpl.class),
1450                     new PropertyType("projectionSystem", ProjectionSystemImpl.class),
1451                     new PropertyType("filters", FilterImpl.class),
1452                     new PropertyType("extractFileTypes", ExtractFileTypeImpl.class),
1453                     new PropertyType("quser", QuserImpl.class)
1454                 }
1455             )
1456         );
1457     }
1458 
1459     private static final void initializeExtractSurveyPeriod56()
1460     {
1461         embeddedValueNamesByType.put(
1462             ExtractSurveyPeriodImpl.class,
1463             null);
1464         embeddedValuesByType.put(
1465             ExtractSurveyPeriodImpl.class,
1466             null);
1467         navigableAssociationEndsByType.put(
1468             ExtractSurveyPeriodImpl.class,
1469             Arrays.asList(
1470                 new PropertyType[]
1471                 {
1472                     new PropertyType("extractFilter", ExtractFilterImpl.class)
1473                 }
1474             )
1475         );
1476     }
1477 
1478     private static final void initializeExtractTable57()
1479     {
1480         embeddedValueNamesByType.put(
1481             ExtractTableImpl.class,
1482             null);
1483         embeddedValuesByType.put(
1484             ExtractTableImpl.class,
1485             null);
1486         navigableAssociationEndsByType.put(
1487             ExtractTableImpl.class,
1488             null);
1489     }
1490 
1491     private static final void initializeExtractGroupTypePmfm58()
1492     {
1493         embeddedValueNamesByType.put(
1494             ExtractGroupTypePmfmImpl.class,
1495             null);
1496         embeddedValuesByType.put(
1497             ExtractGroupTypePmfmImpl.class,
1498             null);
1499         navigableAssociationEndsByType.put(
1500             ExtractGroupTypePmfmImpl.class,
1501             null);
1502     }
1503 
1504     private static final void initializeExtractTableType59()
1505     {
1506         embeddedValueNamesByType.put(
1507             ExtractTableTypeImpl.class,
1508             null);
1509         embeddedValuesByType.put(
1510             ExtractTableTypeImpl.class,
1511             null);
1512         navigableAssociationEndsByType.put(
1513             ExtractTableTypeImpl.class,
1514             null);
1515     }
1516 
1517     private static final void initializeExtractFileType60()
1518     {
1519         embeddedValueNamesByType.put(
1520             ExtractFileTypeImpl.class,
1521             null);
1522         embeddedValuesByType.put(
1523             ExtractFileTypeImpl.class,
1524             null);
1525         navigableAssociationEndsByType.put(
1526             ExtractFileTypeImpl.class,
1527             null);
1528     }
1529 
1530     private static final void initializeExtractAgregationLevel61()
1531     {
1532         embeddedValueNamesByType.put(
1533             ExtractAgregationLevelImpl.class,
1534             null);
1535         embeddedValuesByType.put(
1536             ExtractAgregationLevelImpl.class,
1537             null);
1538         navigableAssociationEndsByType.put(
1539             ExtractAgregationLevelImpl.class,
1540             null);
1541     }
1542 
1543     private static final void initializeExtractSelectedGeometry62()
1544     {
1545         embeddedValueNamesByType.put(
1546             ExtractSelectedGeometryImpl.class,
1547             null);
1548         embeddedValuesByType.put(
1549             ExtractSelectedGeometryImpl.class,
1550             null);
1551         navigableAssociationEndsByType.put(
1552             ExtractSelectedGeometryImpl.class,
1553             null);
1554     }
1555 
1556     private static final void initializeExtractField63()
1557     {
1558         embeddedValueNamesByType.put(
1559             ExtractFieldImpl.class,
1560             null);
1561         embeddedValuesByType.put(
1562             ExtractFieldImpl.class,
1563             null);
1564         navigableAssociationEndsByType.put(
1565             ExtractFieldImpl.class,
1566             Arrays.asList(
1567                 new PropertyType[]
1568                 {
1569                     new PropertyType("objectType", ObjectTypeImpl.class),
1570                     new PropertyType("extractFilter", ExtractFilterImpl.class)
1571                 }
1572             )
1573         );
1574     }
1575 
1576     private static final void initializeValidationHistory64()
1577     {
1578         embeddedValueNamesByType.put(
1579             ValidationHistoryImpl.class,
1580             null);
1581         embeddedValuesByType.put(
1582             ValidationHistoryImpl.class,
1583             null);
1584         navigableAssociationEndsByType.put(
1585             ValidationHistoryImpl.class,
1586             Arrays.asList(
1587                 new PropertyType[]
1588                 {
1589                     new PropertyType("objectType", ObjectTypeImpl.class),
1590                     new PropertyType("quser", QuserImpl.class)
1591                 }
1592             )
1593         );
1594     }
1595 
1596     private static final void initializeBugReport65()
1597     {
1598         embeddedValueNamesByType.put(
1599             BugReportImpl.class,
1600             null);
1601         embeddedValuesByType.put(
1602             BugReportImpl.class,
1603             null);
1604         navigableAssociationEndsByType.put(
1605             BugReportImpl.class,
1606             null);
1607     }
1608 
1609     private static final void initializeMoratorium66()
1610     {
1611         embeddedValueNamesByType.put(
1612             MoratoriumImpl.class,
1613             null);
1614         embeddedValuesByType.put(
1615             MoratoriumImpl.class,
1616             null);
1617         navigableAssociationEndsByType.put(
1618             MoratoriumImpl.class,
1619             Arrays.asList(
1620                 new PropertyType[]
1621                 {
1622                     new PropertyType("occasions", OccasionImpl.class),
1623                     new PropertyType("campaigns", CampaignImpl.class),
1624                     new PropertyType("monLocProgs", MonLocProgImpl.class),
1625                     new PropertyType("pmfmMors", PmfmMorImpl.class),
1626                     new PropertyType("program", ProgramImpl.class),
1627                     new PropertyType("morPeriods", MorPeriodImpl.class)
1628                 }
1629             )
1630         );
1631     }
1632 
1633     private static final void initializeProgramPrivilege67()
1634     {
1635         embeddedValueNamesByType.put(
1636             ProgramPrivilegeImpl.class,
1637             null);
1638         embeddedValuesByType.put(
1639             ProgramPrivilegeImpl.class,
1640             null);
1641         navigableAssociationEndsByType.put(
1642             ProgramPrivilegeImpl.class,
1643             null);
1644     }
1645 
1646     private static final void initializeProgram68()
1647     {
1648         embeddedValueNamesByType.put(
1649             ProgramImpl.class,
1650             null);
1651         embeddedValuesByType.put(
1652             ProgramImpl.class,
1653             null);
1654         navigableAssociationEndsByType.put(
1655             ProgramImpl.class,
1656             Arrays.asList(
1657                 new PropertyType[]
1658                 {
1659                     new PropertyType("status", StatusImpl.class),
1660                     new PropertyType("monLocProgs", MonLocProgImpl.class),
1661                     new PropertyType("progQuserProgPrivs", ProgQuserProgPrivImpl.class),
1662                     new PropertyType("moratoria", MoratoriumImpl.class),
1663                     new PropertyType("compFunctionCds", ComputeFunctionImpl.class),
1664                     new PropertyType("progDepProgPrivs", ProgDepProgPrivImpl.class),
1665                     new PropertyType("strategies", StrategyImpl.class)
1666                 }
1667             )
1668         );
1669     }
1670 
1671     private static final void initializePmfmMor69()
1672     {
1673         embeddedValueNamesByType.put(
1674             PmfmMorImpl.class,
1675             null);
1676         embeddedValuesByType.put(
1677             PmfmMorImpl.class,
1678             null);
1679         navigableAssociationEndsByType.put(
1680             PmfmMorImpl.class,
1681             Arrays.asList(
1682                 new PropertyType[]
1683                 {
1684                     new PropertyType("method", MethodImpl.class),
1685                     new PropertyType("fraction", FractionImpl.class),
1686                     new PropertyType("moratorium", MoratoriumImpl.class),
1687                     new PropertyType("parameter", ParameterImpl.class),
1688                     new PropertyType("matrix", MatrixImpl.class),
1689                     new PropertyType("unit", UnitImpl.class)
1690                 }
1691             )
1692         );
1693     }
1694 
1695     private static final void initializeMorPeriod70()
1696     {
1697         embeddedValueNamesByType.put(
1698             MorPeriodImpl.class,
1699             null);
1700         embeddedValuesByType.put(
1701             MorPeriodImpl.class,
1702             null);
1703         navigableAssociationEndsByType.put(
1704             MorPeriodImpl.class,
1705             Arrays.asList(
1706                 new PropertyType[]
1707                 {
1708                     new PropertyType("moratorium", MoratoriumImpl.class)
1709                 }
1710             )
1711         );
1712     }
1713 
1714     private static final void initializeProgQuserProgPriv71()
1715     {
1716         embeddedValueNamesByType.put(
1717             ProgQuserProgPrivImpl.class,
1718             null);
1719         embeddedValuesByType.put(
1720             ProgQuserProgPrivImpl.class,
1721             null);
1722         navigableAssociationEndsByType.put(
1723             ProgQuserProgPrivImpl.class,
1724             Arrays.asList(
1725                 new PropertyType[]
1726                 {
1727                     new PropertyType("program", ProgramImpl.class),
1728                     new PropertyType("quser", QuserImpl.class),
1729                     new PropertyType("programPrivilege", ProgramPrivilegeImpl.class)
1730                 }
1731             )
1732         );
1733     }
1734 
1735     private static final void initializeProgDepProgPriv72()
1736     {
1737         embeddedValueNamesByType.put(
1738             ProgDepProgPrivImpl.class,
1739             null);
1740         embeddedValuesByType.put(
1741             ProgDepProgPrivImpl.class,
1742             null);
1743         navigableAssociationEndsByType.put(
1744             ProgDepProgPrivImpl.class,
1745             Arrays.asList(
1746                 new PropertyType[]
1747                 {
1748                     new PropertyType("department", DepartmentImpl.class),
1749                     new PropertyType("program", ProgramImpl.class),
1750                     new PropertyType("programPrivilege", ProgramPrivilegeImpl.class)
1751                 }
1752             )
1753         );
1754     }
1755 
1756     private static final void initializeMonLocProg73()
1757     {
1758         embeddedValueNamesByType.put(
1759             MonLocProgImpl.class,
1760             null);
1761         embeddedValuesByType.put(
1762             MonLocProgImpl.class,
1763             null);
1764         navigableAssociationEndsByType.put(
1765             MonLocProgImpl.class,
1766             Arrays.asList(
1767                 new PropertyType[]
1768                 {
1769                     new PropertyType("program", ProgramImpl.class),
1770                     new PropertyType("monitoringLocation", MonitoringLocationImpl.class)
1771                 }
1772             )
1773         );
1774     }
1775 
1776     private static final void initializeAlrtMonLocProg74()
1777     {
1778         embeddedValueNamesByType.put(
1779             AlrtMonLocProgImpl.class,
1780             null);
1781         embeddedValuesByType.put(
1782             AlrtMonLocProgImpl.class,
1783             null);
1784         navigableAssociationEndsByType.put(
1785             AlrtMonLocProgImpl.class,
1786             null);
1787     }
1788 
1789     private static final void initializeMetaprogramme75()
1790     {
1791         embeddedValueNamesByType.put(
1792             MetaprogrammeImpl.class,
1793             null);
1794         embeddedValuesByType.put(
1795             MetaprogrammeImpl.class,
1796             null);
1797         navigableAssociationEndsByType.put(
1798             MetaprogrammeImpl.class,
1799             Arrays.asList(
1800                 new PropertyType[]
1801                 {
1802                     new PropertyType("programs", ProgramImpl.class),
1803                     new PropertyType("departments", DepartmentImpl.class),
1804                     new PropertyType("qusers", QuserImpl.class),
1805                     new PropertyType("pmfmMets", PmfmMetImpl.class),
1806                     new PropertyType("monLocMets", MonLocMetImpl.class)
1807                 }
1808             )
1809         );
1810     }
1811 
1812     private static final void initializePmfmMet76()
1813     {
1814         embeddedValueNamesByType.put(
1815             PmfmMetImpl.class,
1816             null);
1817         embeddedValuesByType.put(
1818             PmfmMetImpl.class,
1819             null);
1820         navigableAssociationEndsByType.put(
1821             PmfmMetImpl.class,
1822             Arrays.asList(
1823                 new PropertyType[]
1824                 {
1825                     new PropertyType("unit", UnitImpl.class),
1826                     new PropertyType("fraction", FractionImpl.class),
1827                     new PropertyType("monLocMets", MonLocMetImpl.class),
1828                     new PropertyType("matrix", MatrixImpl.class),
1829                     new PropertyType("method", MethodImpl.class),
1830                     new PropertyType("metaprogramme", MetaprogrammeImpl.class),
1831                     new PropertyType("parameter", ParameterImpl.class)
1832                 }
1833             )
1834         );
1835     }
1836 
1837     private static final void initializeMonLocMet77()
1838     {
1839         embeddedValueNamesByType.put(
1840             MonLocMetImpl.class,
1841             null);
1842         embeddedValuesByType.put(
1843             MonLocMetImpl.class,
1844             null);
1845         navigableAssociationEndsByType.put(
1846             MonLocMetImpl.class,
1847             Arrays.asList(
1848                 new PropertyType[]
1849                 {
1850                     new PropertyType("pmfmMets", PmfmMetImpl.class),
1851                     new PropertyType("monitoringLocation", MonitoringLocationImpl.class),
1852                     new PropertyType("metaprogramme", MetaprogrammeImpl.class)
1853                 }
1854             )
1855         );
1856     }
1857 
1858     private static final void initializeAppliedStrategy78()
1859     {
1860         embeddedValueNamesByType.put(
1861             AppliedStrategyImpl.class,
1862             null);
1863         embeddedValuesByType.put(
1864             AppliedStrategyImpl.class,
1865             null);
1866         navigableAssociationEndsByType.put(
1867             AppliedStrategyImpl.class,
1868             Arrays.asList(
1869                 new PropertyType[]
1870                 {
1871                     new PropertyType("taxonGroup", TaxonGroupImpl.class),
1872                     new PropertyType("referenceTaxon", ReferenceTaxonImpl.class),
1873                     new PropertyType("appliedPeriods", AppliedPeriodImpl.class),
1874                     new PropertyType("monitoringLocation", MonitoringLocationImpl.class),
1875                     new PropertyType("strategy", StrategyImpl.class),
1876                     new PropertyType("frequency", FrequencyImpl.class),
1877                     new PropertyType("department", DepartmentImpl.class),
1878                     new PropertyType("pmfmAppliedStrategies", PmfmAppliedStrategyImpl.class)
1879                 }
1880             )
1881         );
1882     }
1883 
1884     private static final void initializeStrategy79()
1885     {
1886         embeddedValueNamesByType.put(
1887             StrategyImpl.class,
1888             null);
1889         embeddedValuesByType.put(
1890             StrategyImpl.class,
1891             null);
1892         navigableAssociationEndsByType.put(
1893             StrategyImpl.class,
1894             Arrays.asList(
1895                 new PropertyType[]
1896                 {
1897                     new PropertyType("qusers", QuserImpl.class),
1898                     new PropertyType("departments", DepartmentImpl.class),
1899                     new PropertyType("pmfmStrategies", PmfmStrategyImpl.class),
1900                     new PropertyType("appliedStrategies", AppliedStrategyImpl.class),
1901                     new PropertyType("program", ProgramImpl.class)
1902                 }
1903             )
1904         );
1905     }
1906 
1907     private static final void initializePmfmStrategy80()
1908     {
1909         embeddedValueNamesByType.put(
1910             PmfmStrategyImpl.class,
1911             null);
1912         embeddedValuesByType.put(
1913             PmfmStrategyImpl.class,
1914             null);
1915         navigableAssociationEndsByType.put(
1916             PmfmStrategyImpl.class,
1917             Arrays.asList(
1918                 new PropertyType[]
1919                 {
1920                     new PropertyType("uiFunctions", UiFunctionImpl.class),
1921                     new PropertyType("pmfm", PmfmImpl.class),
1922                     new PropertyType("precisionType", PrecisionTypeImpl.class),
1923                     new PropertyType("strategy", StrategyImpl.class),
1924                     new PropertyType("acquisitionLevels", AcquisitionLevelImpl.class)
1925                 }
1926             )
1927         );
1928     }
1929 
1930     private static final void initializeUiFunction81()
1931     {
1932         embeddedValueNamesByType.put(
1933             UiFunctionImpl.class,
1934             null);
1935         embeddedValuesByType.put(
1936             UiFunctionImpl.class,
1937             null);
1938         navigableAssociationEndsByType.put(
1939             UiFunctionImpl.class,
1940             Arrays.asList(
1941                 new PropertyType[]
1942                 {
1943                     new PropertyType("status", StatusImpl.class)
1944                 }
1945             )
1946         );
1947     }
1948 
1949     private static final void initializePmfmAppliedStrategy82()
1950     {
1951         embeddedValueNamesByType.put(
1952             PmfmAppliedStrategyImpl.class,
1953             null);
1954         embeddedValuesByType.put(
1955             PmfmAppliedStrategyImpl.class,
1956             null);
1957         navigableAssociationEndsByType.put(
1958             PmfmAppliedStrategyImpl.class,
1959             Arrays.asList(
1960                 new PropertyType[]
1961                 {
1962                     new PropertyType("department", DepartmentImpl.class),
1963                     new PropertyType("analysisInstrument", AnalysisInstrumentImpl.class),
1964                     new PropertyType("pmfmStrategy", PmfmStrategyImpl.class),
1965                     new PropertyType("appliedStrategy", AppliedStrategyImpl.class)
1966                 }
1967             )
1968         );
1969     }
1970 
1971     private static final void initializeAppliedPeriod83()
1972     {
1973         embeddedValueNamesByType.put(
1974             AppliedPeriodImpl.class,
1975             null);
1976         embeddedValuesByType.put(
1977             AppliedPeriodImpl.class,
1978             null);
1979         navigableAssociationEndsByType.put(
1980             AppliedPeriodImpl.class,
1981             Arrays.asList(
1982                 new PropertyType[]
1983                 {
1984                     new PropertyType("appliedStrategy", AppliedStrategyImpl.class)
1985                 }
1986             )
1987         );
1988     }
1989 
1990     private static final void initializeQuser84()
1991     {
1992         embeddedValueNamesByType.put(
1993             QuserImpl.class,
1994             null);
1995         embeddedValuesByType.put(
1996             QuserImpl.class,
1997             null);
1998         navigableAssociationEndsByType.put(
1999             QuserImpl.class,
2000             Arrays.asList(
2001                 new PropertyType[]
2002                 {
2003                     new PropertyType("privileges", PrivilegeImpl.class),
2004                     new PropertyType("jobIds", JobImpl.class),
2005                     new PropertyType("status", StatusImpl.class),
2006                     new PropertyType("selIds", SelectionImpl.class),
2007                     new PropertyType("department", DepartmentImpl.class),
2008                     new PropertyType("mapProjectIds", MapProjectImpl.class)
2009                 }
2010             )
2011         );
2012     }
2013 
2014     private static final void initializePrivilegeTransfer85()
2015     {
2016         embeddedValueNamesByType.put(
2017             PrivilegeTransferImpl.class,
2018             null);
2019         embeddedValuesByType.put(
2020             PrivilegeTransferImpl.class,
2021             null);
2022         navigableAssociationEndsByType.put(
2023             PrivilegeTransferImpl.class,
2024             Arrays.asList(
2025                 new PropertyType[]
2026                 {
2027                     new PropertyType("status", StatusImpl.class),
2028                     new PropertyType("toDepartment", DepartmentImpl.class),
2029                     new PropertyType("fromDepartment", DepartmentImpl.class)
2030                 }
2031             )
2032         );
2033     }
2034 
2035     private static final void initializeDepartment86()
2036     {
2037         embeddedValueNamesByType.put(
2038             DepartmentImpl.class,
2039             null);
2040         embeddedValuesByType.put(
2041             DepartmentImpl.class,
2042             null);
2043         navigableAssociationEndsByType.put(
2044             DepartmentImpl.class,
2045             Arrays.asList(
2046                 new PropertyType[]
2047                 {
2048                     new PropertyType("initialPopulations", InitialPopulationImpl.class),
2049                     new PropertyType("status", StatusImpl.class),
2050                     new PropertyType("mapProjectIds", MapProjectImpl.class),
2051                     new PropertyType("historicalAccounts", HistoricalAccountImpl.class),
2052                     new PropertyType("privilegeTransfers", PrivilegeTransferImpl.class),
2053                     new PropertyType("departments", DepartmentImpl.class),
2054                     new PropertyType("parentDepartment", DepartmentImpl.class),
2055                     new PropertyType("privileges", PrivilegeImpl.class),
2056                     new PropertyType("qusers", QuserImpl.class)
2057                 }
2058             )
2059         );
2060     }
2061 
2062     private static final void initializeEunisTypology87()
2063     {
2064         embeddedValueNamesByType.put(
2065             EunisTypologyImpl.class,
2066             null);
2067         embeddedValuesByType.put(
2068             EunisTypologyImpl.class,
2069             null);
2070         navigableAssociationEndsByType.put(
2071             EunisTypologyImpl.class,
2072             Arrays.asList(
2073                 new PropertyType[]
2074                 {
2075                     new PropertyType("eunisTypologies", EunisTypologyImpl.class),
2076                     new PropertyType("parentEunisTypId", EunisTypologyImpl.class),
2077                     new PropertyType("observedHabitats", ObservedHabitatImpl.class),
2078                     new PropertyType("eunisVersionId", EunisVersionImpl.class)
2079                 }
2080             )
2081         );
2082     }
2083 
2084     private static final void initializeEunisEquivCodeTypology88()
2085     {
2086         embeddedValueNamesByType.put(
2087             EunisEquivCodeTypologyImpl.class,
2088             null);
2089         embeddedValuesByType.put(
2090             EunisEquivCodeTypologyImpl.class,
2091             null);
2092         navigableAssociationEndsByType.put(
2093             EunisEquivCodeTypologyImpl.class,
2094             Arrays.asList(
2095                 new PropertyType[]
2096                 {
2097                     new PropertyType("eunisEquivIds", EunisEquivalenceImpl.class),
2098                     new PropertyType("status", StatusImpl.class)
2099                 }
2100             )
2101         );
2102     }
2103 
2104     private static final void initializeEunisVersion89()
2105     {
2106         embeddedValueNamesByType.put(
2107             EunisVersionImpl.class,
2108             null);
2109         embeddedValuesByType.put(
2110             EunisVersionImpl.class,
2111             null);
2112         navigableAssociationEndsByType.put(
2113             EunisVersionImpl.class,
2114             Arrays.asList(
2115                 new PropertyType[]
2116                 {
2117                     new PropertyType("eunisTypIds", EunisTypologyImpl.class)
2118                 }
2119             )
2120         );
2121     }
2122 
2123     private static final void initializeEunisEquivalence90()
2124     {
2125         embeddedValueNamesByType.put(
2126             EunisEquivalenceImpl.class,
2127             null);
2128         embeddedValuesByType.put(
2129             EunisEquivalenceImpl.class,
2130             null);
2131         navigableAssociationEndsByType.put(
2132             EunisEquivalenceImpl.class,
2133             Arrays.asList(
2134                 new PropertyType[]
2135                 {
2136                     new PropertyType("eunisEquivCodeTypCd", EunisEquivCodeTypologyImpl.class),
2137                     new PropertyType("oldEunisTypId", EunisTypologyImpl.class),
2138                     new PropertyType("newEunisTypId", EunisTypologyImpl.class)
2139                 }
2140             )
2141         );
2142     }
2143 
2144     private static final void initializeTaxonPosition91()
2145     {
2146         embeddedValueNamesByType.put(
2147             TaxonPositionImpl.class,
2148             null);
2149         embeddedValuesByType.put(
2150             TaxonPositionImpl.class,
2151             null);
2152         navigableAssociationEndsByType.put(
2153             TaxonPositionImpl.class,
2154             Arrays.asList(
2155                 new PropertyType[]
2156                 {
2157                     new PropertyType("referenceTaxon", ReferenceTaxonImpl.class),
2158                     new PropertyType("monitoringLocation", MonitoringLocationImpl.class),
2159                     new PropertyType("resourceType", ResourceTypeImpl.class)
2160                 }
2161             )
2162         );
2163     }
2164 
2165     private static final void initializeMonLocOrderItem92()
2166     {
2167         embeddedValueNamesByType.put(
2168             MonLocOrderItemImpl.class,
2169             null);
2170         embeddedValuesByType.put(
2171             MonLocOrderItemImpl.class,
2172             null);
2173         navigableAssociationEndsByType.put(
2174             MonLocOrderItemImpl.class,
2175             Arrays.asList(
2176                 new PropertyType[]
2177                 {
2178                     new PropertyType("orderItem", OrderItemImpl.class),
2179                     new PropertyType("monitoringLocation", MonitoringLocationImpl.class)
2180                 }
2181             )
2182         );
2183     }
2184 
2185     private static final void initializeCoordinatesTransformation93()
2186     {
2187         embeddedValueNamesByType.put(
2188             CoordinatesTransformationImpl.class,
2189             null);
2190         embeddedValuesByType.put(
2191             CoordinatesTransformationImpl.class,
2192             null);
2193         navigableAssociationEndsByType.put(
2194             CoordinatesTransformationImpl.class,
2195             Arrays.asList(
2196                 new PropertyType[]
2197                 {
2198                     new PropertyType("posSystemId", PositionningSystemImpl.class),
2199                     new PropertyType("initProjSystemCd", ProjectionSystemImpl.class),
2200                     new PropertyType("endProjSystemCd", ProjectionSystemImpl.class)
2201                 }
2202             )
2203         );
2204     }
2205 
2206     private static final void initializeProjectionSystem94()
2207     {
2208         embeddedValueNamesByType.put(
2209             ProjectionSystemImpl.class,
2210             null);
2211         embeddedValuesByType.put(
2212             ProjectionSystemImpl.class,
2213             null);
2214         navigableAssociationEndsByType.put(
2215             ProjectionSystemImpl.class,
2216             Arrays.asList(
2217                 new PropertyType[]
2218                 {
2219                     new PropertyType("unitId", UnitImpl.class),
2220                     new PropertyType("status", StatusImpl.class)
2221                 }
2222             )
2223         );
2224     }
2225 
2226     private static final void initializeMonitoringLocation95()
2227     {
2228         embeddedValueNamesByType.put(
2229             MonitoringLocationImpl.class,
2230             null);
2231         embeddedValuesByType.put(
2232             MonitoringLocationImpl.class,
2233             null);
2234         navigableAssociationEndsByType.put(
2235             MonitoringLocationImpl.class,
2236             Arrays.asList(
2237                 new PropertyType[]
2238                 {
2239                     new PropertyType("status", StatusImpl.class),
2240                     new PropertyType("harbour", HarbourImpl.class),
2241                     new PropertyType("positionningSystem", PositionningSystemImpl.class),
2242                     new PropertyType("monLocOrderItems", MonLocOrderItemImpl.class),
2243                     new PropertyType("monLocHisGeoms", MonLocHisGeomImpl.class),
2244                     new PropertyType("monLocLines", MonLocLineImpl.class),
2245                     new PropertyType("monLocAreas", MonLocAreaImpl.class),
2246                     new PropertyType("monLocPoints", MonLocPointImpl.class)
2247                 }
2248             )
2249         );
2250     }
2251 
2252     private static final void initializeTaxonGroupPosition96()
2253     {
2254         embeddedValueNamesByType.put(
2255             TaxonGroupPositionImpl.class,
2256             null);
2257         embeddedValuesByType.put(
2258             TaxonGroupPositionImpl.class,
2259             null);
2260         navigableAssociationEndsByType.put(
2261             TaxonGroupPositionImpl.class,
2262             Arrays.asList(
2263                 new PropertyType[]
2264                 {
2265                     new PropertyType("taxonGroup", TaxonGroupImpl.class),
2266                     new PropertyType("resTypeId", ResourceTypeImpl.class),
2267                     new PropertyType("monitoringLocation", MonitoringLocationImpl.class)
2268                 }
2269             )
2270         );
2271     }
2272 
2273     private static final void initializeHarbour97()
2274     {
2275         embeddedValueNamesByType.put(
2276             HarbourImpl.class,
2277             null);
2278         embeddedValuesByType.put(
2279             HarbourImpl.class,
2280             null);
2281         navigableAssociationEndsByType.put(
2282             HarbourImpl.class,
2283             Arrays.asList(
2284                 new PropertyType[]
2285                 {
2286                     new PropertyType("monitoringLocations", MonitoringLocationImpl.class),
2287                     new PropertyType("status", StatusImpl.class)
2288                 }
2289             )
2290         );
2291     }
2292 
2293     private static final void initializePositionningSystem98()
2294     {
2295         embeddedValueNamesByType.put(
2296             PositionningSystemImpl.class,
2297             null);
2298         embeddedValuesByType.put(
2299             PositionningSystemImpl.class,
2300             null);
2301         navigableAssociationEndsByType.put(
2302             PositionningSystemImpl.class,
2303             Arrays.asList(
2304                 new PropertyType[]
2305                 {
2306                     new PropertyType("monLocHisGeomIds", MonLocHisGeomImpl.class),
2307                     new PropertyType("coordTransIds", CoordinatesTransformationImpl.class),
2308                     new PropertyType("campaigns", CampaignImpl.class),
2309                     new PropertyType("posTypeCd", PositionningTypeImpl.class)
2310                 }
2311             )
2312         );
2313     }
2314 
2315     private static final void initializeAlrtMonLocOrderItem99()
2316     {
2317         embeddedValueNamesByType.put(
2318             AlrtMonLocOrderItemImpl.class,
2319             null);
2320         embeddedValuesByType.put(
2321             AlrtMonLocOrderItemImpl.class,
2322             null);
2323         navigableAssociationEndsByType.put(
2324             AlrtMonLocOrderItemImpl.class,
2325             null);
2326     }
2327 
2328     private static final void initializeAlrtMonitoringLocation100()
2329     {
2330         embeddedValueNamesByType.put(
2331             AlrtMonitoringLocationImpl.class,
2332             null);
2333         embeddedValuesByType.put(
2334             AlrtMonitoringLocationImpl.class,
2335             null);
2336         navigableAssociationEndsByType.put(
2337             AlrtMonitoringLocationImpl.class,
2338             null);
2339     }
2340 
2341     private static final void initializePmfm101()
2342     {
2343         embeddedValueNamesByType.put(
2344             PmfmImpl.class,
2345             null);
2346         embeddedValuesByType.put(
2347             PmfmImpl.class,
2348             null);
2349         navigableAssociationEndsByType.put(
2350             PmfmImpl.class,
2351             Arrays.asList(
2352                 new PropertyType[]
2353                 {
2354                     new PropertyType("unit", UnitImpl.class),
2355                     new PropertyType("matrix", MatrixImpl.class),
2356                     new PropertyType("fraction", FractionImpl.class),
2357                     new PropertyType("parameter", ParameterImpl.class),
2358                     new PropertyType("method", MethodImpl.class),
2359                     new PropertyType("status", StatusImpl.class),
2360                     new PropertyType("pmfmQualValues", PmfmQualValueImpl.class)
2361                 }
2362             )
2363         );
2364     }
2365 
2366     private static final void initializeMethod102()
2367     {
2368         embeddedValueNamesByType.put(
2369             MethodImpl.class,
2370             null);
2371         embeddedValuesByType.put(
2372             MethodImpl.class,
2373             null);
2374         navigableAssociationEndsByType.put(
2375             MethodImpl.class,
2376             Arrays.asList(
2377                 new PropertyType[]
2378                 {
2379                     new PropertyType("pmfms", PmfmImpl.class),
2380                     new PropertyType("status", StatusImpl.class)
2381                 }
2382             )
2383         );
2384     }
2385 
2386     private static final void initializePmfmQualValue103()
2387     {
2388         embeddedValueNamesByType.put(
2389             PmfmQualValueImpl.class,
2390             null);
2391         embeddedValuesByType.put(
2392             PmfmQualValueImpl.class,
2393             null);
2394         navigableAssociationEndsByType.put(
2395             PmfmQualValueImpl.class,
2396             Arrays.asList(
2397                 new PropertyType[]
2398                 {
2399                     new PropertyType("qualitativeValue", QualitativeValueImpl.class),
2400                     new PropertyType("pmfm", PmfmImpl.class)
2401                 }
2402             )
2403         );
2404     }
2405 
2406     private static final void initializeParameter104()
2407     {
2408         embeddedValueNamesByType.put(
2409             ParameterImpl.class,
2410             null);
2411         embeddedValuesByType.put(
2412             ParameterImpl.class,
2413             null);
2414         navigableAssociationEndsByType.put(
2415             ParameterImpl.class,
2416             Arrays.asList(
2417                 new PropertyType[]
2418                 {
2419                     new PropertyType("qualitativeValues", QualitativeValueImpl.class),
2420                     new PropertyType("status", StatusImpl.class),
2421                     new PropertyType("parGroupId", ParameterGroupImpl.class),
2422                     new PropertyType("compFunctionCds", ComputeFunctionImpl.class),
2423                     new PropertyType("pmfms", PmfmImpl.class)
2424                 }
2425             )
2426         );
2427     }
2428 
2429     private static final void initializeParameterGroup105()
2430     {
2431         embeddedValueNamesByType.put(
2432             ParameterGroupImpl.class,
2433             null);
2434         embeddedValuesByType.put(
2435             ParameterGroupImpl.class,
2436             null);
2437         navigableAssociationEndsByType.put(
2438             ParameterGroupImpl.class,
2439             Arrays.asList(
2440                 new PropertyType[]
2441                 {
2442                     new PropertyType("status", StatusImpl.class),
2443                     new PropertyType("parCds", ParameterImpl.class),
2444                     new PropertyType("parameterGroups", ParameterGroupImpl.class),
2445                     new PropertyType("parentParGroupId", ParameterGroupImpl.class)
2446                 }
2447             )
2448         );
2449     }
2450 
2451     private static final void initializeMatrix106()
2452     {
2453         embeddedValueNamesByType.put(
2454             MatrixImpl.class,
2455             null);
2456         embeddedValuesByType.put(
2457             MatrixImpl.class,
2458             null);
2459         navigableAssociationEndsByType.put(
2460             MatrixImpl.class,
2461             Arrays.asList(
2462                 new PropertyType[]
2463                 {
2464                     new PropertyType("pmfms", PmfmImpl.class),
2465                     new PropertyType("fractions", FractionImpl.class),
2466                     new PropertyType("status", StatusImpl.class)
2467                 }
2468             )
2469         );
2470     }
2471 
2472     private static final void initializeFraction107()
2473     {
2474         embeddedValueNamesByType.put(
2475             FractionImpl.class,
2476             null);
2477         embeddedValuesByType.put(
2478             FractionImpl.class,
2479             null);
2480         navigableAssociationEndsByType.put(
2481             FractionImpl.class,
2482             Arrays.asList(
2483                 new PropertyType[]
2484                 {
2485                     new PropertyType("matrixes", MatrixImpl.class),
2486                     new PropertyType("pmfms", PmfmImpl.class),
2487                     new PropertyType("status", StatusImpl.class)
2488                 }
2489             )
2490         );
2491     }
2492 
2493     private static final void initializeQualitativeValue108()
2494     {
2495         embeddedValueNamesByType.put(
2496             QualitativeValueImpl.class,
2497             null);
2498         embeddedValuesByType.put(
2499             QualitativeValueImpl.class,
2500             null);
2501         navigableAssociationEndsByType.put(
2502             QualitativeValueImpl.class,
2503             Arrays.asList(
2504                 new PropertyType[]
2505                 {
2506                     new PropertyType("status", StatusImpl.class),
2507                     new PropertyType("parameter", ParameterImpl.class)
2508                 }
2509             )
2510         );
2511     }
2512 
2513     private static final void initializeAlternativeTaxon109()
2514     {
2515         embeddedValueNamesByType.put(
2516             AlternativeTaxonImpl.class,
2517             null);
2518         embeddedValuesByType.put(
2519             AlternativeTaxonImpl.class,
2520             null);
2521         navigableAssociationEndsByType.put(
2522             AlternativeTaxonImpl.class,
2523             Arrays.asList(
2524                 new PropertyType[]
2525                 {
2526                     new PropertyType("alternativeTaxonOrigin", AlternativeTaxonOriginImpl.class),
2527                     new PropertyType("taxonName", TaxonNameImpl.class)
2528                 }
2529             )
2530         );
2531     }
2532 
2533     private static final void initializeAuthor110()
2534     {
2535         embeddedValueNamesByType.put(
2536             AuthorImpl.class,
2537             null);
2538         embeddedValuesByType.put(
2539             AuthorImpl.class,
2540             null);
2541         navigableAssociationEndsByType.put(
2542             AuthorImpl.class,
2543             Arrays.asList(
2544                 new PropertyType[]
2545                 {
2546                     new PropertyType("status", StatusImpl.class),
2547                     new PropertyType("referenceDocuments", ReferenceDocumentImpl.class)
2548                 }
2549             )
2550         );
2551     }
2552 
2553     private static final void initializeTaxonName111()
2554     {
2555         embeddedValueNamesByType.put(
2556             TaxonNameImpl.class,
2557             null);
2558         embeddedValuesByType.put(
2559             TaxonNameImpl.class,
2560             null);
2561         navigableAssociationEndsByType.put(
2562             TaxonNameImpl.class,
2563             Arrays.asList(
2564                 new PropertyType[]
2565                 {
2566                     new PropertyType("citId", CitationImpl.class),
2567                     new PropertyType("alternativeTaxons", AlternativeTaxonImpl.class),
2568                     new PropertyType("taxonNameHistories", TaxonNameHistoryImpl.class),
2569                     new PropertyType("taxonNames", TaxonNameImpl.class),
2570                     new PropertyType("parentTaxonName", TaxonNameImpl.class),
2571                     new PropertyType("taxonomicLevel", TaxonomicLevelImpl.class),
2572                     new PropertyType("taxonGroupHistoricalRecords", TaxonGroupHistoricalRecordImpl.class),
2573                     new PropertyType("referenceTaxon", ReferenceTaxonImpl.class),
2574                     new PropertyType("virtualComponents", VirtualComponentImpl.class)
2575                 }
2576             )
2577         );
2578     }
2579 
2580     private static final void initializeReferenceDocument112()
2581     {
2582         embeddedValueNamesByType.put(
2583             ReferenceDocumentImpl.class,
2584             null);
2585         embeddedValuesByType.put(
2586             ReferenceDocumentImpl.class,
2587             null);
2588         navigableAssociationEndsByType.put(
2589             ReferenceDocumentImpl.class,
2590             Arrays.asList(
2591                 new PropertyType[]
2592                 {
2593                     new PropertyType("status", StatusImpl.class),
2594                     new PropertyType("authors", AuthorImpl.class)
2595                 }
2596             )
2597         );
2598     }
2599 
2600     private static final void initializeAlternativeTaxonOrigin113()
2601     {
2602         embeddedValueNamesByType.put(
2603             AlternativeTaxonOriginImpl.class,
2604             null);
2605         embeddedValuesByType.put(
2606             AlternativeTaxonOriginImpl.class,
2607             null);
2608         navigableAssociationEndsByType.put(
2609             AlternativeTaxonOriginImpl.class,
2610             Arrays.asList(
2611                 new PropertyType[]
2612                 {
2613                     new PropertyType("alternativeTaxons", AlternativeTaxonImpl.class)
2614                 }
2615             )
2616         );
2617     }
2618 
2619     private static final void initializeTaxonNameHistory114()
2620     {
2621         embeddedValueNamesByType.put(
2622             TaxonNameHistoryImpl.class,
2623             null);
2624         embeddedValuesByType.put(
2625             TaxonNameHistoryImpl.class,
2626             null);
2627         navigableAssociationEndsByType.put(
2628             TaxonNameHistoryImpl.class,
2629             Arrays.asList(
2630                 new PropertyType[]
2631                 {
2632                     new PropertyType("citId", CitationImpl.class),
2633                     new PropertyType("taxonName", TaxonNameImpl.class),
2634                     new PropertyType("taxonNameId", TaxonNameImpl.class)
2635                 }
2636             )
2637         );
2638     }
2639 
2640     private static final void initializeTaxonInformation115()
2641     {
2642         embeddedValueNamesByType.put(
2643             TaxonInformationImpl.class,
2644             null);
2645         embeddedValuesByType.put(
2646             TaxonInformationImpl.class,
2647             null);
2648         navigableAssociationEndsByType.put(
2649             TaxonInformationImpl.class,
2650             Arrays.asList(
2651                 new PropertyType[]
2652                 {
2653                     new PropertyType("taxonName", TaxonNameImpl.class),
2654                     new PropertyType("referenceDocument", ReferenceDocumentImpl.class)
2655                 }
2656             )
2657         );
2658     }
2659 
2660     private static final void initializeReferenceTaxon116()
2661     {
2662         embeddedValueNamesByType.put(
2663             ReferenceTaxonImpl.class,
2664             null);
2665         embeddedValuesByType.put(
2666             ReferenceTaxonImpl.class,
2667             null);
2668         navigableAssociationEndsByType.put(
2669             ReferenceTaxonImpl.class,
2670             Arrays.asList(
2671                 new PropertyType[]
2672                 {
2673                     new PropertyType("virtualComponents", VirtualComponentImpl.class)
2674                 }
2675             )
2676         );
2677     }
2678 
2679     private static final void initializeTaxonGroupHistoricalRecord117()
2680     {
2681         embeddedValueNamesByType.put(
2682             TaxonGroupHistoricalRecordImpl.class,
2683             null);
2684         embeddedValuesByType.put(
2685             TaxonGroupHistoricalRecordImpl.class,
2686             null);
2687         navigableAssociationEndsByType.put(
2688             TaxonGroupHistoricalRecordImpl.class,
2689             Arrays.asList(
2690                 new PropertyType[]
2691                 {
2692                     new PropertyType("taxonName", TaxonNameImpl.class),
2693                     new PropertyType("taxonGroup", TaxonGroupImpl.class)
2694                 }
2695             )
2696         );
2697     }
2698 
2699     private static final void initializeTaxonomicLevel118()
2700     {
2701         embeddedValueNamesByType.put(
2702             TaxonomicLevelImpl.class,
2703             null);
2704         embeddedValuesByType.put(
2705             TaxonomicLevelImpl.class,
2706             null);
2707         navigableAssociationEndsByType.put(
2708             TaxonomicLevelImpl.class,
2709             Arrays.asList(
2710                 new PropertyType[]
2711                 {
2712                     new PropertyType("status", StatusImpl.class),
2713                     new PropertyType("taxonNames", TaxonNameImpl.class)
2714                 }
2715             )
2716         );
2717     }
2718 
2719     private static final void initializeTaxonInformationHistory119()
2720     {
2721         embeddedValueNamesByType.put(
2722             TaxonInformationHistoryImpl.class,
2723             null);
2724         embeddedValuesByType.put(
2725             TaxonInformationHistoryImpl.class,
2726             null);
2727         navigableAssociationEndsByType.put(
2728             TaxonInformationHistoryImpl.class,
2729             Arrays.asList(
2730                 new PropertyType[]
2731                 {
2732                     new PropertyType("taxonNameHistory", TaxonNameHistoryImpl.class),
2733                     new PropertyType("referenceDocument", ReferenceDocumentImpl.class)
2734                 }
2735             )
2736         );
2737     }
2738 
2739     private static final void initializeTaxonGroupInformation120()
2740     {
2741         embeddedValueNamesByType.put(
2742             TaxonGroupInformationImpl.class,
2743             null);
2744         embeddedValuesByType.put(
2745             TaxonGroupInformationImpl.class,
2746             null);
2747         navigableAssociationEndsByType.put(
2748             TaxonGroupInformationImpl.class,
2749             Arrays.asList(
2750                 new PropertyType[]
2751                 {
2752                     new PropertyType("referenceDocument", ReferenceDocumentImpl.class),
2753                     new PropertyType("taxonGroup", TaxonGroupImpl.class)
2754                 }
2755             )
2756         );
2757     }
2758 
2759     private static final void initializeCitation121()
2760     {
2761         embeddedValueNamesByType.put(
2762             CitationImpl.class,
2763             null);
2764         embeddedValuesByType.put(
2765             CitationImpl.class,
2766             null);
2767         navigableAssociationEndsByType.put(
2768             CitationImpl.class,
2769             Arrays.asList(
2770                 new PropertyType[]
2771                 {
2772                     new PropertyType("taxonNames", TaxonNameImpl.class),
2773                     new PropertyType("status", StatusImpl.class),
2774                     new PropertyType("taxonNameHistIds", TaxonNameHistoryImpl.class)
2775                 }
2776             )
2777         );
2778     }
2779 
2780     private static final void initializeTaxonGroup122()
2781     {
2782         embeddedValueNamesByType.put(
2783             TaxonGroupImpl.class,
2784             null);
2785         embeddedValuesByType.put(
2786             TaxonGroupImpl.class,
2787             null);
2788         navigableAssociationEndsByType.put(
2789             TaxonGroupImpl.class,
2790             Arrays.asList(
2791                 new PropertyType[]
2792                 {
2793                     new PropertyType("taxonGroups", TaxonGroupImpl.class),
2794                     new PropertyType("parentTaxonGroup", TaxonGroupImpl.class),
2795                     new PropertyType("status", StatusImpl.class),
2796                     new PropertyType("taxonGroupHistoricalRecords", TaxonGroupHistoricalRecordImpl.class),
2797                     new PropertyType("taxonGroupType", TaxonGroupTypeImpl.class),
2798                     new PropertyType("taxonGroupPositions", TaxonGroupPositionImpl.class)
2799                 }
2800             )
2801         );
2802     }
2803 
2804     private static final void initializeVirtualComponent123()
2805     {
2806         embeddedValueNamesByType.put(
2807             VirtualComponentImpl.class,
2808             null);
2809         embeddedValuesByType.put(
2810             VirtualComponentImpl.class,
2811             null);
2812         navigableAssociationEndsByType.put(
2813             VirtualComponentImpl.class,
2814             Arrays.asList(
2815                 new PropertyType[]
2816                 {
2817                     new PropertyType("taxonName", TaxonNameImpl.class),
2818                     new PropertyType("referenceTaxon", ReferenceTaxonImpl.class)
2819                 }
2820             )
2821         );
2822     }
2823 
2824     private static final void initializeNumericalPrecision124()
2825     {
2826         embeddedValueNamesByType.put(
2827             NumericalPrecisionImpl.class,
2828             null);
2829         embeddedValuesByType.put(
2830             NumericalPrecisionImpl.class,
2831             null);
2832         navigableAssociationEndsByType.put(
2833             NumericalPrecisionImpl.class,
2834             Arrays.asList(
2835                 new PropertyType[]
2836                 {
2837                     new PropertyType("status", StatusImpl.class)
2838                 }
2839             )
2840         );
2841     }
2842 
2843     private static final void initializePrivilege125()
2844     {
2845         embeddedValueNamesByType.put(
2846             PrivilegeImpl.class,
2847             null);
2848         embeddedValuesByType.put(
2849             PrivilegeImpl.class,
2850             null);
2851         navigableAssociationEndsByType.put(
2852             PrivilegeImpl.class,
2853             Arrays.asList(
2854                 new PropertyType[]
2855                 {
2856                     new PropertyType("qusers", QuserImpl.class),
2857                     new PropertyType("departments", DepartmentImpl.class),
2858                     new PropertyType("status", StatusImpl.class)
2859                 }
2860             )
2861         );
2862     }
2863 
2864     private static final void initializeAnalysisInstrument126()
2865     {
2866         embeddedValueNamesByType.put(
2867             AnalysisInstrumentImpl.class,
2868             null);
2869         embeddedValuesByType.put(
2870             AnalysisInstrumentImpl.class,
2871             null);
2872         navigableAssociationEndsByType.put(
2873             AnalysisInstrumentImpl.class,
2874             Arrays.asList(
2875                 new PropertyType[]
2876                 {
2877                     new PropertyType("status", StatusImpl.class)
2878                 }
2879             )
2880         );
2881     }
2882 
2883     private static final void initializeDocumentType127()
2884     {
2885         embeddedValueNamesByType.put(
2886             DocumentTypeImpl.class,
2887             null);
2888         embeddedValuesByType.put(
2889             DocumentTypeImpl.class,
2890             null);
2891         navigableAssociationEndsByType.put(
2892             DocumentTypeImpl.class,
2893             Arrays.asList(
2894                 new PropertyType[]
2895                 {
2896                     new PropertyType("status", StatusImpl.class)
2897                 }
2898             )
2899         );
2900     }
2901 
2902     private static final void initializePrecisionType128()
2903     {
2904         embeddedValueNamesByType.put(
2905             PrecisionTypeImpl.class,
2906             null);
2907         embeddedValuesByType.put(
2908             PrecisionTypeImpl.class,
2909             null);
2910         navigableAssociationEndsByType.put(
2911             PrecisionTypeImpl.class,
2912             Arrays.asList(
2913                 new PropertyType[]
2914                 {
2915                     new PropertyType("status", StatusImpl.class)
2916                 }
2917             )
2918         );
2919     }
2920 
2921     private static final void initializeStatus129()
2922     {
2923         embeddedValueNamesByType.put(
2924             StatusImpl.class,
2925             null);
2926         embeddedValuesByType.put(
2927             StatusImpl.class,
2928             null);
2929         navigableAssociationEndsByType.put(
2930             StatusImpl.class,
2931             Arrays.asList(
2932                 new PropertyType[]
2933                 {
2934                     new PropertyType("precisionTypes", PrecisionTypeImpl.class)
2935                 }
2936             )
2937         );
2938     }
2939 
2940     private static final void initializePositionningType130()
2941     {
2942         embeddedValueNamesByType.put(
2943             PositionningTypeImpl.class,
2944             null);
2945         embeddedValuesByType.put(
2946             PositionningTypeImpl.class,
2947             null);
2948         navigableAssociationEndsByType.put(
2949             PositionningTypeImpl.class,
2950             Arrays.asList(
2951                 new PropertyType[]
2952                 {
2953                     new PropertyType("status", StatusImpl.class),
2954                     new PropertyType("posSystemIds", PositionningSystemImpl.class)
2955                 }
2956             )
2957         );
2958     }
2959 
2960     private static final void initializeResourceType131()
2961     {
2962         embeddedValueNamesByType.put(
2963             ResourceTypeImpl.class,
2964             null);
2965         embeddedValuesByType.put(
2966             ResourceTypeImpl.class,
2967             null);
2968         navigableAssociationEndsByType.put(
2969             ResourceTypeImpl.class,
2970             Arrays.asList(
2971                 new PropertyType[]
2972                 {
2973                     new PropertyType("taxonGroupPositionIds", TaxonGroupPositionImpl.class),
2974                     new PropertyType("status", StatusImpl.class)
2975                 }
2976             )
2977         );
2978     }
2979 
2980     private static final void initializeObservationTypology132()
2981     {
2982         embeddedValueNamesByType.put(
2983             ObservationTypologyImpl.class,
2984             null);
2985         embeddedValuesByType.put(
2986             ObservationTypologyImpl.class,
2987             null);
2988         navigableAssociationEndsByType.put(
2989             ObservationTypologyImpl.class,
2990             Arrays.asList(
2991                 new PropertyType[]
2992                 {
2993                     new PropertyType("status", StatusImpl.class)
2994                 }
2995             )
2996         );
2997     }
2998 
2999     private static final void initializeAcquisitionLevel133()
3000     {
3001         embeddedValueNamesByType.put(
3002             AcquisitionLevelImpl.class,
3003             null);
3004         embeddedValuesByType.put(
3005             AcquisitionLevelImpl.class,
3006             null);
3007         navigableAssociationEndsByType.put(
3008             AcquisitionLevelImpl.class,
3009             null);
3010     }
3011 
3012     private static final void initializeWfdWaterBody134()
3013     {
3014         embeddedValueNamesByType.put(
3015             WfdWaterBodyImpl.class,
3016             null);
3017         embeddedValuesByType.put(
3018             WfdWaterBodyImpl.class,
3019             null);
3020         navigableAssociationEndsByType.put(
3021             WfdWaterBodyImpl.class,
3022             null);
3023     }
3024 
3025     private static final void initializeUnit135()
3026     {
3027         embeddedValueNamesByType.put(
3028             UnitImpl.class,
3029             null);
3030         embeddedValuesByType.put(
3031             UnitImpl.class,
3032             null);
3033         navigableAssociationEndsByType.put(
3034             UnitImpl.class,
3035             Arrays.asList(
3036                 new PropertyType[]
3037                 {
3038                     new PropertyType("pmfms", PmfmImpl.class),
3039                     new PropertyType("status", StatusImpl.class),
3040                     new PropertyType("samplingEquipmentIds", SamplingEquipmentImpl.class),
3041                     new PropertyType("projSystemCds", ProjectionSystemImpl.class)
3042                 }
3043             )
3044         );
3045     }
3046 
3047     private static final void initializeSamplingEquipment136()
3048     {
3049         embeddedValueNamesByType.put(
3050             SamplingEquipmentImpl.class,
3051             null);
3052         embeddedValuesByType.put(
3053             SamplingEquipmentImpl.class,
3054             null);
3055         navigableAssociationEndsByType.put(
3056             SamplingEquipmentImpl.class,
3057             Arrays.asList(
3058                 new PropertyType[]
3059                 {
3060                     new PropertyType("status", StatusImpl.class),
3061                     new PropertyType("unitId", UnitImpl.class)
3062                 }
3063             )
3064         );
3065     }
3066 
3067     private static final void initializeEventType137()
3068     {
3069         embeddedValueNamesByType.put(
3070             EventTypeImpl.class,
3071             null);
3072         embeddedValuesByType.put(
3073             EventTypeImpl.class,
3074             null);
3075         navigableAssociationEndsByType.put(
3076             EventTypeImpl.class,
3077             Arrays.asList(
3078                 new PropertyType[]
3079                 {
3080                     new PropertyType("status", StatusImpl.class)
3081                 }
3082             )
3083         );
3084     }
3085 
3086     private static final void initializePhotoType138()
3087     {
3088         embeddedValueNamesByType.put(
3089             PhotoTypeImpl.class,
3090             null);
3091         embeddedValuesByType.put(
3092             PhotoTypeImpl.class,
3093             null);
3094         navigableAssociationEndsByType.put(
3095             PhotoTypeImpl.class,
3096             Arrays.asList(
3097                 new PropertyType[]
3098                 {
3099                     new PropertyType("status", StatusImpl.class)
3100                 }
3101             )
3102         );
3103     }
3104 
3105     private static final void initializeTaxonGroupType139()
3106     {
3107         embeddedValueNamesByType.put(
3108             TaxonGroupTypeImpl.class,
3109             null);
3110         embeddedValuesByType.put(
3111             TaxonGroupTypeImpl.class,
3112             null);
3113         navigableAssociationEndsByType.put(
3114             TaxonGroupTypeImpl.class,
3115             Arrays.asList(
3116                 new PropertyType[]
3117                 {
3118                     new PropertyType("status", StatusImpl.class),
3119                     new PropertyType("taxonGroups", TaxonGroupImpl.class)
3120                 }
3121             )
3122         );
3123     }
3124 
3125     private static final void initializeDepthLevel140()
3126     {
3127         embeddedValueNamesByType.put(
3128             DepthLevelImpl.class,
3129             null);
3130         embeddedValuesByType.put(
3131             DepthLevelImpl.class,
3132             null);
3133         navigableAssociationEndsByType.put(
3134             DepthLevelImpl.class,
3135             Arrays.asList(
3136                 new PropertyType[]
3137                 {
3138                     new PropertyType("status", StatusImpl.class)
3139                 }
3140             )
3141         );
3142     }
3143 
3144     private static final void initializeQualityFlag141()
3145     {
3146         embeddedValueNamesByType.put(
3147             QualityFlagImpl.class,
3148             null);
3149         embeddedValuesByType.put(
3150             QualityFlagImpl.class,
3151             null);
3152         navigableAssociationEndsByType.put(
3153             QualityFlagImpl.class,
3154             Arrays.asList(
3155                 new PropertyType[]
3156                 {
3157                     new PropertyType("status", StatusImpl.class)
3158                 }
3159             )
3160         );
3161     }
3162 
3163     private static final void initializeClassifiedShellfishArea142()
3164     {
3165         embeddedValueNamesByType.put(
3166             ClassifiedShellfishAreaImpl.class,
3167             null);
3168         embeddedValuesByType.put(
3169             ClassifiedShellfishAreaImpl.class,
3170             null);
3171         navigableAssociationEndsByType.put(
3172             ClassifiedShellfishAreaImpl.class,
3173             null);
3174     }
3175 
3176     private static final void initializeObjectType143()
3177     {
3178         embeddedValueNamesByType.put(
3179             ObjectTypeImpl.class,
3180             null);
3181         embeddedValuesByType.put(
3182             ObjectTypeImpl.class,
3183             null);
3184         navigableAssociationEndsByType.put(
3185             ObjectTypeImpl.class,
3186             Arrays.asList(
3187                 new PropertyType[]
3188                 {
3189                     new PropertyType("selIds", SelectionImpl.class)
3190                 }
3191             )
3192         );
3193     }
3194 
3195     private static final void initializeFrequency144()
3196     {
3197         embeddedValueNamesByType.put(
3198             FrequencyImpl.class,
3199             null);
3200         embeddedValuesByType.put(
3201             FrequencyImpl.class,
3202             null);
3203         navigableAssociationEndsByType.put(
3204             FrequencyImpl.class,
3205             Arrays.asList(
3206                 new PropertyType[]
3207                 {
3208                     new PropertyType("status", StatusImpl.class)
3209                 }
3210             )
3211         );
3212     }
3213 
3214     private static final void initializeOrderItemType145()
3215     {
3216         embeddedValueNamesByType.put(
3217             OrderItemTypeImpl.class,
3218             null);
3219         embeddedValuesByType.put(
3220             OrderItemTypeImpl.class,
3221             null);
3222         navigableAssociationEndsByType.put(
3223             OrderItemTypeImpl.class,
3224             Arrays.asList(
3225                 new PropertyType[]
3226                 {
3227                     new PropertyType("status", StatusImpl.class),
3228                     new PropertyType("orderItemIds", OrderItemImpl.class)
3229                 }
3230             )
3231         );
3232     }
3233 
3234     private static final void initializeOrderItem146()
3235     {
3236         embeddedValueNamesByType.put(
3237             OrderItemImpl.class,
3238             null);
3239         embeddedValuesByType.put(
3240             OrderItemImpl.class,
3241             null);
3242         navigableAssociationEndsByType.put(
3243             OrderItemImpl.class,
3244             Arrays.asList(
3245                 new PropertyType[]
3246                 {
3247                     new PropertyType("orderItemTypeCd", OrderItemTypeImpl.class)
3248                 }
3249             )
3250         );
3251     }
3252 
3253     private static final void initializeAlrtOrderItemType147()
3254     {
3255         embeddedValueNamesByType.put(
3256             AlrtOrderItemTypeImpl.class,
3257             null);
3258         embeddedValuesByType.put(
3259             AlrtOrderItemTypeImpl.class,
3260             null);
3261         navigableAssociationEndsByType.put(
3262             AlrtOrderItemTypeImpl.class,
3263             Arrays.asList(
3264                 new PropertyType[]
3265                 {
3266                     new PropertyType("status", StatusImpl.class)
3267                 }
3268             )
3269         );
3270     }
3271 
3272     private static final void initializeAlrtOrderItem148()
3273     {
3274         embeddedValueNamesByType.put(
3275             AlrtOrderItemImpl.class,
3276             null);
3277         embeddedValuesByType.put(
3278             AlrtOrderItemImpl.class,
3279             null);
3280         navigableAssociationEndsByType.put(
3281             AlrtOrderItemImpl.class,
3282             Arrays.asList(
3283                 new PropertyType[]
3284                 {
3285                     new PropertyType("alrtOrderItemType", AlrtOrderItemTypeImpl.class)
3286                 }
3287             )
3288         );
3289     }
3290 
3291     private static final void initializeTranscribingItem149()
3292     {
3293         embeddedValueNamesByType.put(
3294             TranscribingItemImpl.class,
3295             null);
3296         embeddedValuesByType.put(
3297             TranscribingItemImpl.class,
3298             null);
3299         navigableAssociationEndsByType.put(
3300             TranscribingItemImpl.class,
3301             Arrays.asList(
3302                 new PropertyType[]
3303                 {
3304                     new PropertyType("transcribingItemType", TranscribingItemTypeImpl.class)
3305                 }
3306             )
3307         );
3308     }
3309 
3310     private static final void initializeTranscribingItemType150()
3311     {
3312         embeddedValueNamesByType.put(
3313             TranscribingItemTypeImpl.class,
3314             null);
3315         embeddedValuesByType.put(
3316             TranscribingItemTypeImpl.class,
3317             null);
3318         navigableAssociationEndsByType.put(
3319             TranscribingItemTypeImpl.class,
3320             Arrays.asList(
3321                 new PropertyType[]
3322                 {
3323                     new PropertyType("objectType", ObjectTypeImpl.class),
3324                     new PropertyType("transcribingSide", TranscribingSideImpl.class),
3325                     new PropertyType("status", StatusImpl.class)
3326                 }
3327             )
3328         );
3329     }
3330 
3331     private static final void initializeTranscribingSide151()
3332     {
3333         embeddedValueNamesByType.put(
3334             TranscribingSideImpl.class,
3335             null);
3336         embeddedValuesByType.put(
3337             TranscribingSideImpl.class,
3338             null);
3339         navigableAssociationEndsByType.put(
3340             TranscribingSideImpl.class,
3341             null);
3342     }
3343 
3344     private static final void initializeDredgingAreaType152()
3345     {
3346         embeddedValueNamesByType.put(
3347             DredgingAreaTypeImpl.class,
3348             null);
3349         embeddedValuesByType.put(
3350             DredgingAreaTypeImpl.class,
3351             null);
3352         navigableAssociationEndsByType.put(
3353             DredgingAreaTypeImpl.class,
3354             Arrays.asList(
3355                 new PropertyType[]
3356                 {
3357                     new PropertyType("status", StatusImpl.class)
3358                 }
3359             )
3360         );
3361     }
3362 
3363     private static final void initializeDredgingTargetArea153()
3364     {
3365         embeddedValueNamesByType.put(
3366             DredgingTargetAreaImpl.class,
3367             null);
3368         embeddedValuesByType.put(
3369             DredgingTargetAreaImpl.class,
3370             null);
3371         navigableAssociationEndsByType.put(
3372             DredgingTargetAreaImpl.class,
3373             Arrays.asList(
3374                 new PropertyType[]
3375                 {
3376                     new PropertyType("dredgingAreaType", DredgingAreaTypeImpl.class),
3377                     new PropertyType("status", StatusImpl.class)
3378                 }
3379             )
3380         );
3381     }
3382 
3383     private static final void initializeMeasuredProfile154()
3384     {
3385         embeddedValueNamesByType.put(
3386             MeasuredProfileImpl.class,
3387             null);
3388         embeddedValuesByType.put(
3389             MeasuredProfileImpl.class,
3390             null);
3391         navigableAssociationEndsByType.put(
3392             MeasuredProfileImpl.class,
3393             Arrays.asList(
3394                 new PropertyType[]
3395                 {
3396                     new PropertyType("programs", ProgramImpl.class),
3397                     new PropertyType("survey", SurveyImpl.class),
3398                     new PropertyType("qualityFlag", QualityFlagImpl.class),
3399                     new PropertyType("recorderDepartment", DepartmentImpl.class)
3400                 }
3401             )
3402         );
3403     }
3404 
3405     private static final void initializeVideo155()
3406     {
3407         embeddedValueNamesByType.put(
3408             VideoImpl.class,
3409             null);
3410         embeddedValuesByType.put(
3411             VideoImpl.class,
3412             null);
3413         navigableAssociationEndsByType.put(
3414             VideoImpl.class,
3415             Arrays.asList(
3416                 new PropertyType[]
3417                 {
3418                     new PropertyType("qualFlagCd", QualityFlagImpl.class),
3419                     new PropertyType("survey", SurveyImpl.class)
3420                 }
3421             )
3422         );
3423     }
3424 
3425     private static final void initializeShip156()
3426     {
3427         embeddedValueNamesByType.put(
3428             ShipImpl.class,
3429             null);
3430         embeddedValuesByType.put(
3431             ShipImpl.class,
3432             null);
3433         navigableAssociationEndsByType.put(
3434             ShipImpl.class,
3435             null);
3436     }
3437 
3438     private static final void initializeCampaign157()
3439     {
3440         embeddedValueNamesByType.put(
3441             CampaignImpl.class,
3442             null);
3443         embeddedValuesByType.put(
3444             CampaignImpl.class,
3445             null);
3446         navigableAssociationEndsByType.put(
3447             CampaignImpl.class,
3448             Arrays.asList(
3449                 new PropertyType[]
3450                 {
3451                     new PropertyType("moratoria", MoratoriumImpl.class),
3452                     new PropertyType("campaignPoints", CampaignPointImpl.class),
3453                     new PropertyType("quser", QuserImpl.class),
3454                     new PropertyType("programs", ProgramImpl.class),
3455                     new PropertyType("ship", ShipImpl.class),
3456                     new PropertyType("occasions", OccasionImpl.class),
3457                     new PropertyType("positionningSystem", PositionningSystemImpl.class),
3458                     new PropertyType("campaignLines", CampaignLineImpl.class),
3459                     new PropertyType("recorderDepartment", DepartmentImpl.class),
3460                     new PropertyType("campaignAreas", CampaignAreaImpl.class)
3461                 }
3462             )
3463         );
3464     }
3465 
3466     private static final void initializeOccasion158()
3467     {
3468         embeddedValueNamesByType.put(
3469             OccasionImpl.class,
3470             null);
3471         embeddedValuesByType.put(
3472             OccasionImpl.class,
3473             null);
3474         navigableAssociationEndsByType.put(
3475             OccasionImpl.class,
3476             Arrays.asList(
3477                 new PropertyType[]
3478                 {
3479                     new PropertyType("moratoria", MoratoriumImpl.class),
3480                     new PropertyType("qusers", QuserImpl.class),
3481                     new PropertyType("occasAreas", OccasAreaImpl.class),
3482                     new PropertyType("occasPoints", OccasPointImpl.class),
3483                     new PropertyType("recorderDepartment", DepartmentImpl.class),
3484                     new PropertyType("campaign", CampaignImpl.class),
3485                     new PropertyType("occasLines", OccasLineImpl.class),
3486                     new PropertyType("positionningSystem", PositionningSystemImpl.class),
3487                     new PropertyType("ship", ShipImpl.class)
3488                 }
3489             )
3490         );
3491     }
3492 
3493     private static final void initializeObservedHabitat159()
3494     {
3495         embeddedValueNamesByType.put(
3496             ObservedHabitatImpl.class,
3497             null);
3498         embeddedValuesByType.put(
3499             ObservedHabitatImpl.class,
3500             null);
3501         navigableAssociationEndsByType.put(
3502             ObservedHabitatImpl.class,
3503             Arrays.asList(
3504                 new PropertyType[]
3505                 {
3506                     new PropertyType("qualityFlag", QualityFlagImpl.class),
3507                     new PropertyType("eunisTypology", EunisTypologyImpl.class),
3508                     new PropertyType("recorderDepartment", DepartmentImpl.class),
3509                     new PropertyType("survey", SurveyImpl.class)
3510                 }
3511             )
3512         );
3513     }
3514 
3515     private static final void initializeFieldObservation160()
3516     {
3517         embeddedValueNamesByType.put(
3518             FieldObservationImpl.class,
3519             null);
3520         embeddedValuesByType.put(
3521             FieldObservationImpl.class,
3522             null);
3523         navigableAssociationEndsByType.put(
3524             FieldObservationImpl.class,
3525             Arrays.asList(
3526                 new PropertyType[]
3527                 {
3528                     new PropertyType("survey", SurveyImpl.class),
3529                     new PropertyType("recorderDepartment", DepartmentImpl.class),
3530                     new PropertyType("observationTypology", ObservationTypologyImpl.class),
3531                     new PropertyType("qualityFlag", QualityFlagImpl.class)
3532                 }
3533             )
3534         );
3535     }
3536 
3537     private static final void initializeSurvey161()
3538     {
3539         embeddedValueNamesByType.put(
3540             SurveyImpl.class,
3541             null);
3542         embeddedValuesByType.put(
3543             SurveyImpl.class,
3544             null);
3545         navigableAssociationEndsByType.put(
3546             SurveyImpl.class,
3547             Arrays.asList(
3548                 new PropertyType[]
3549                 {
3550                     new PropertyType("qusers", QuserImpl.class),
3551                     new PropertyType("fieldObservations", FieldObservationImpl.class),
3552                     new PropertyType("bottomDepthUnit", UnitImpl.class),
3553                     new PropertyType("monitoringLocation", MonitoringLocationImpl.class),
3554                     new PropertyType("positionningSystem", PositionningSystemImpl.class),
3555                     new PropertyType("programs", ProgramImpl.class),
3556                     new PropertyType("measuredProfiles", MeasuredProfileImpl.class),
3557                     new PropertyType("samplingOperations", SamplingOperationImpl.class),
3558                     new PropertyType("surveyAreas", SurveyAreaImpl.class),
3559                     new PropertyType("campaign", CampaignImpl.class),
3560                     new PropertyType("surveyLines", SurveyLineImpl.class),
3561                     new PropertyType("recorderDepartment", DepartmentImpl.class),
3562                     new PropertyType("surveyPoints", SurveyPointImpl.class),
3563                     new PropertyType("videos", VideoImpl.class),
3564                     new PropertyType("dredgingTargetArea", DredgingTargetAreaImpl.class),
3565                     new PropertyType("qualityFlag", QualityFlagImpl.class),
3566                     new PropertyType("events", EventImpl.class),
3567                     new PropertyType("observedHabitats", ObservedHabitatImpl.class),
3568                     new PropertyType("occasion", OccasionImpl.class)
3569                 }
3570             )
3571         );
3572     }
3573 
3574     private static final void initializeEvent162()
3575     {
3576         embeddedValueNamesByType.put(
3577             EventImpl.class,
3578             null);
3579         embeddedValuesByType.put(
3580             EventImpl.class,
3581             null);
3582         navigableAssociationEndsByType.put(
3583             EventImpl.class,
3584             Arrays.asList(
3585                 new PropertyType[]
3586                 {
3587                     new PropertyType("eventType", EventTypeImpl.class),
3588                     new PropertyType("eventLines", EventLineImpl.class),
3589                     new PropertyType("eventPoints", EventPointImpl.class),
3590                     new PropertyType("positionningSystem", PositionningSystemImpl.class),
3591                     new PropertyType("recorderDepartment", DepartmentImpl.class),
3592                     new PropertyType("surveys", SurveyImpl.class),
3593                     new PropertyType("eventAreas", EventAreaImpl.class)
3594                 }
3595             )
3596         );
3597     }
3598 
3599     private static final void initializeMeasurementFile163()
3600     {
3601         embeddedValueNamesByType.put(
3602             MeasurementFileImpl.class,
3603             null);
3604         embeddedValuesByType.put(
3605             MeasurementFileImpl.class,
3606             null);
3607         navigableAssociationEndsByType.put(
3608             MeasurementFileImpl.class,
3609             Arrays.asList(
3610                 new PropertyType[]
3611                 {
3612                     new PropertyType("sample", SampleImpl.class),
3613                     new PropertyType("objectType", ObjectTypeImpl.class),
3614                     new PropertyType("qualityFlag", QualityFlagImpl.class),
3615                     new PropertyType("department", DepartmentImpl.class),
3616                     new PropertyType("programs", ProgramImpl.class),
3617                     new PropertyType("pmfm", PmfmImpl.class),
3618                     new PropertyType("analysisInstrument", AnalysisInstrumentImpl.class),
3619                     new PropertyType("recorderDepartment", DepartmentImpl.class),
3620                     new PropertyType("survey", SurveyImpl.class),
3621                     new PropertyType("samplingOperation", SamplingOperationImpl.class)
3622                 }
3623             )
3624         );
3625     }
3626 
3627     private static final void initializeTaxonMeasurement164()
3628     {
3629         embeddedValueNamesByType.put(
3630             TaxonMeasurementImpl.class,
3631             null);
3632         embeddedValuesByType.put(
3633             TaxonMeasurementImpl.class,
3634             null);
3635         navigableAssociationEndsByType.put(
3636             TaxonMeasurementImpl.class,
3637             Arrays.asList(
3638                 new PropertyType[]
3639                 {
3640                     new PropertyType("sample", SampleImpl.class),
3641                     new PropertyType("taxonGroup", TaxonGroupImpl.class),
3642                     new PropertyType("pmfm", PmfmImpl.class),
3643                     new PropertyType("referenceTaxon", ReferenceTaxonImpl.class),
3644                     new PropertyType("recorderDepartment", DepartmentImpl.class),
3645                     new PropertyType("qualityFlag", QualityFlagImpl.class),
3646                     new PropertyType("programs", ProgramImpl.class),
3647                     new PropertyType("numericalPrecision", NumericalPrecisionImpl.class),
3648                     new PropertyType("precisionType", PrecisionTypeImpl.class),
3649                     new PropertyType("department", DepartmentImpl.class),
3650                     new PropertyType("objectType", ObjectTypeImpl.class),
3651                     new PropertyType("analysisInstrument", AnalysisInstrumentImpl.class),
3652                     new PropertyType("qualitativeValue", QualitativeValueImpl.class),
3653                     new PropertyType("survey", SurveyImpl.class),
3654                     new PropertyType("samplingOperation", SamplingOperationImpl.class)
3655                 }
3656             )
3657         );
3658     }
3659 
3660     private static final void initializeMeasurement165()
3661     {
3662         embeddedValueNamesByType.put(
3663             MeasurementImpl.class,
3664             null);
3665         embeddedValuesByType.put(
3666             MeasurementImpl.class,
3667             null);
3668         navigableAssociationEndsByType.put(
3669             MeasurementImpl.class,
3670             Arrays.asList(
3671                 new PropertyType[]
3672                 {
3673                     new PropertyType("sample", SampleImpl.class),
3674                     new PropertyType("objectType", ObjectTypeImpl.class),
3675                     new PropertyType("recorderDepartment", DepartmentImpl.class),
3676                     new PropertyType("analysisInstrument", AnalysisInstrumentImpl.class),
3677                     new PropertyType("department", DepartmentImpl.class),
3678                     new PropertyType("qualityFlag", QualityFlagImpl.class),
3679                     new PropertyType("pmfm", PmfmImpl.class),
3680                     new PropertyType("precisionType", PrecisionTypeImpl.class),
3681                     new PropertyType("programs", ProgramImpl.class),
3682                     new PropertyType("numericalPrecision", NumericalPrecisionImpl.class),
3683                     new PropertyType("qualitativeValue", QualitativeValueImpl.class),
3684                     new PropertyType("survey", SurveyImpl.class),
3685                     new PropertyType("samplingOperation", SamplingOperationImpl.class)
3686                 }
3687             )
3688         );
3689     }
3690 
3691     private static final void initializeSample166()
3692     {
3693         embeddedValueNamesByType.put(
3694             SampleImpl.class,
3695             null);
3696         embeddedValuesByType.put(
3697             SampleImpl.class,
3698             null);
3699         navigableAssociationEndsByType.put(
3700             SampleImpl.class,
3701             Arrays.asList(
3702                 new PropertyType[]
3703                 {
3704                     new PropertyType("qualityFlag", QualityFlagImpl.class),
3705                     new PropertyType("taxonGroup", TaxonGroupImpl.class),
3706                     new PropertyType("sizeUnit", UnitImpl.class),
3707                     new PropertyType("programs", ProgramImpl.class),
3708                     new PropertyType("recorderDepartment", DepartmentImpl.class),
3709                     new PropertyType("samplingOperation", SamplingOperationImpl.class),
3710                     new PropertyType("matrix", MatrixImpl.class),
3711                     new PropertyType("referenceTaxon", ReferenceTaxonImpl.class)
3712                 }
3713             )
3714         );
3715     }
3716 
3717     private static final void initializeSamplingOperation167()
3718     {
3719         embeddedValueNamesByType.put(
3720             SamplingOperationImpl.class,
3721             null);
3722         embeddedValuesByType.put(
3723             SamplingOperationImpl.class,
3724             null);
3725         navigableAssociationEndsByType.put(
3726             SamplingOperationImpl.class,
3727             Arrays.asList(
3728                 new PropertyType[]
3729                 {
3730                     new PropertyType("depthLevel", DepthLevelImpl.class),
3731                     new PropertyType("samplingOperPoints", SamplingOperPointImpl.class),
3732                     new PropertyType("qualityFlag", QualityFlagImpl.class),
3733                     new PropertyType("samplingOperAreas", SamplingOperAreaImpl.class),
3734                     new PropertyType("programs", ProgramImpl.class),
3735                     new PropertyType("depthUnit", UnitImpl.class),
3736                     new PropertyType("batch", BatchImpl.class),
3737                     new PropertyType("survey", SurveyImpl.class),
3738                     new PropertyType("recorderDepartment", DepartmentImpl.class),
3739                     new PropertyType("samplingOperLines", SamplingOperLineImpl.class),
3740                     new PropertyType("sizeUnit", UnitImpl.class),
3741                     new PropertyType("samplingEquipment", SamplingEquipmentImpl.class),
3742                     new PropertyType("positionningSystem", PositionningSystemImpl.class),
3743                     new PropertyType("department", DepartmentImpl.class)
3744                 }
3745             )
3746         );
3747     }
3748 
3749     private static final void initializeAgeGroup168()
3750     {
3751         embeddedValueNamesByType.put(
3752             AgeGroupImpl.class,
3753             null);
3754         embeddedValuesByType.put(
3755             AgeGroupImpl.class,
3756             null);
3757         navigableAssociationEndsByType.put(
3758             AgeGroupImpl.class,
3759             Arrays.asList(
3760                 new PropertyType[]
3761                 {
3762                     new PropertyType("status", StatusImpl.class)
3763                 }
3764             )
3765         );
3766     }
3767 
3768     private static final void initializeBatch169()
3769     {
3770         embeddedValueNamesByType.put(
3771             BatchImpl.class,
3772             null);
3773         embeddedValuesByType.put(
3774             BatchImpl.class,
3775             null);
3776         navigableAssociationEndsByType.put(
3777             BatchImpl.class,
3778             Arrays.asList(
3779                 new PropertyType[]
3780                 {
3781                     new PropertyType("monitoringLocation", MonitoringLocationImpl.class),
3782                     new PropertyType("breedingSystem", BreedingSystemImpl.class),
3783                     new PropertyType("samplingOperations", SamplingOperationImpl.class),
3784                     new PropertyType("breedingStructure", BreedingStructureImpl.class),
3785                     new PropertyType("depthLevel", DepthLevelImpl.class),
3786                     new PropertyType("initialPopulation", InitialPopulationImpl.class),
3787                     new PropertyType("initialPopulations", InitialPopulationImpl.class),
3788                     new PropertyType("qualityFlag", QualityFlagImpl.class)
3789                 }
3790             )
3791         );
3792     }
3793 
3794     private static final void initializeHistoricalAccount170()
3795     {
3796         embeddedValueNamesByType.put(
3797             HistoricalAccountImpl.class,
3798             null);
3799         embeddedValuesByType.put(
3800             HistoricalAccountImpl.class,
3801             null);
3802         navigableAssociationEndsByType.put(
3803             HistoricalAccountImpl.class,
3804             Arrays.asList(
3805                 new PropertyType[]
3806                 {
3807                     new PropertyType("breedingPhaseType", BreedingPhaseTypeImpl.class),
3808                     new PropertyType("department", DepartmentImpl.class),
3809                     new PropertyType("initialPopulation", InitialPopulationImpl.class),
3810                     new PropertyType("productionSector", ProductionSectorImpl.class),
3811                     new PropertyType("breedingStructure", BreedingStructureImpl.class),
3812                     new PropertyType("monitoringLocation", MonitoringLocationImpl.class),
3813                     new PropertyType("breedingSystem", BreedingSystemImpl.class)
3814                 }
3815             )
3816         );
3817     }
3818 
3819     private static final void initializeBreedingStructure171()
3820     {
3821         embeddedValueNamesByType.put(
3822             BreedingStructureImpl.class,
3823             null);
3824         embeddedValuesByType.put(
3825             BreedingStructureImpl.class,
3826             null);
3827         navigableAssociationEndsByType.put(
3828             BreedingStructureImpl.class,
3829             Arrays.asList(
3830                 new PropertyType[]
3831                 {
3832                     new PropertyType("batches", BatchImpl.class),
3833                     new PropertyType("historicalAccounts", HistoricalAccountImpl.class),
3834                     new PropertyType("status", StatusImpl.class)
3835                 }
3836             )
3837         );
3838     }
3839 
3840     private static final void initializeBreedingSystem172()
3841     {
3842         embeddedValueNamesByType.put(
3843             BreedingSystemImpl.class,
3844             null);
3845         embeddedValuesByType.put(
3846             BreedingSystemImpl.class,
3847             null);
3848         navigableAssociationEndsByType.put(
3849             BreedingSystemImpl.class,
3850             Arrays.asList(
3851                 new PropertyType[]
3852                 {
3853                     new PropertyType("batches", BatchImpl.class),
3854                     new PropertyType("status", StatusImpl.class),
3855                     new PropertyType("historicalAccounts", HistoricalAccountImpl.class)
3856                 }
3857             )
3858         );
3859     }
3860 
3861     private static final void initializeInitialPopulation173()
3862     {
3863         embeddedValueNamesByType.put(
3864             InitialPopulationImpl.class,
3865             null);
3866         embeddedValuesByType.put(
3867             InitialPopulationImpl.class,
3868             null);
3869         navigableAssociationEndsByType.put(
3870             InitialPopulationImpl.class,
3871             Arrays.asList(
3872                 new PropertyType[]
3873                 {
3874                     new PropertyType("ploidy", PloidyImpl.class),
3875                     new PropertyType("departments", DepartmentImpl.class),
3876                     new PropertyType("historicalAccounts", HistoricalAccountImpl.class),
3877                     new PropertyType("programs", ProgramImpl.class),
3878                     new PropertyType("qualityFlag", QualityFlagImpl.class),
3879                     new PropertyType("referenceTaxon", ReferenceTaxonImpl.class),
3880                     new PropertyType("batches", BatchImpl.class),
3881                     new PropertyType("ageGroup", AgeGroupImpl.class),
3882                     new PropertyType("qusers", QuserImpl.class)
3883                 }
3884             )
3885         );
3886     }
3887 
3888     private static final void initializePloidy174()
3889     {
3890         embeddedValueNamesByType.put(
3891             PloidyImpl.class,
3892             null);
3893         embeddedValuesByType.put(
3894             PloidyImpl.class,
3895             null);
3896         navigableAssociationEndsByType.put(
3897             PloidyImpl.class,
3898             Arrays.asList(
3899                 new PropertyType[]
3900                 {
3901                     new PropertyType("initialPopulations", InitialPopulationImpl.class),
3902                     new PropertyType("status", StatusImpl.class)
3903                 }
3904             )
3905         );
3906     }
3907 
3908     private static final void initializeBreedingPhaseType175()
3909     {
3910         embeddedValueNamesByType.put(
3911             BreedingPhaseTypeImpl.class,
3912             null);
3913         embeddedValuesByType.put(
3914             BreedingPhaseTypeImpl.class,
3915             null);
3916         navigableAssociationEndsByType.put(
3917             BreedingPhaseTypeImpl.class,
3918             Arrays.asList(
3919                 new PropertyType[]
3920                 {
3921                     new PropertyType("historicalAccounts", HistoricalAccountImpl.class),
3922                     new PropertyType("status", StatusImpl.class)
3923                 }
3924             )
3925         );
3926     }
3927 
3928     private static final void initializeProductionSector176()
3929     {
3930         embeddedValueNamesByType.put(
3931             ProductionSectorImpl.class,
3932             null);
3933         embeddedValuesByType.put(
3934             ProductionSectorImpl.class,
3935             null);
3936         navigableAssociationEndsByType.put(
3937             ProductionSectorImpl.class,
3938             Arrays.asList(
3939                 new PropertyType[]
3940                 {
3941                     new PropertyType("prodSectorAreas", ProdSectorAreaImpl.class),
3942                     new PropertyType("histAccountIds", HistoricalAccountImpl.class),
3943                     new PropertyType("status", StatusImpl.class)
3944                 }
3945             )
3946         );
3947     }
3948 
3949     private static final void initializePhoto177()
3950     {
3951         embeddedValueNamesByType.put(
3952             PhotoImpl.class,
3953             null);
3954         embeddedValuesByType.put(
3955             PhotoImpl.class,
3956             null);
3957         navigableAssociationEndsByType.put(
3958             PhotoImpl.class,
3959             Arrays.asList(
3960                 new PropertyType[]
3961                 {
3962                     new PropertyType("sample", SampleImpl.class),
3963                     new PropertyType("photoType", PhotoTypeImpl.class),
3964                     new PropertyType("qualityFlag", QualityFlagImpl.class),
3965                     new PropertyType("objectType", ObjectTypeImpl.class),
3966                     new PropertyType("recorderDepartment", DepartmentImpl.class),
3967                     new PropertyType("survey", SurveyImpl.class),
3968                     new PropertyType("samplingOperation", SamplingOperationImpl.class)
3969                 }
3970             )
3971         );
3972     }
3973 
3974     /**
3975      * Attempts to get the embedded value list for the given type (or returns null
3976      * if one doesn't exist).
3977      *
3978      * @param type the type of which to retrieve the value.
3979      * @return the collection of embedded value names.
3980      */
3981     public static Collection getEmbeddedValues(final Class type)
3982     {
3983         return (Collection)embeddedValueNamesByType.get(type);
3984     }
3985 
3986     /**
3987      * Gets the type of the navigable association end given the <code>ownerType</code>
3988      * and <code>name</code>
3989      *
3990      * @param ownerType the owner of the association.
3991      * @param name the name of the association end to find.
3992      * @return the type of the association end.
3993      */
3994     public static Class getNavigableAssociationEndType(final Class ownerType, final String name)
3995     {
3996         return getPropertyType(navigableAssociationEndsByType, ownerType, name);
3997     }
3998 
3999     /**
4000      * Gets the type of the embedded value given the <code>ownerType</code>
4001      * and <code>name</code>
4002      *
4003      * @param ownerType the owner of the association.
4004      * @param name the name of the association end to find.
4005      * @return the type of the association end.
4006      */
4007     public static Class getEmbeddedValueType(final Class ownerType, final String name)
4008     {
4009         return getPropertyType(embeddedValuesByType, ownerType, name);
4010     }
4011 
4012     /**
4013      * Gets the type of the embedded value given the <code>ownerType</code>
4014      * and <code>name</code>
4015      *
4016      * @param properties Map contains the Collection of properties given the ownerType Class
4017      * @param ownerType the owner of the association.
4018      * @param name the name of the association end to find.
4019      * @return the type of the association end.
4020      */
4021     public static Class getPropertyType(final Map properties, final Class ownerType, final String name)
4022     {
4023         final Collection ends = (Collection)properties.get(ownerType);
4024         final PropertyType type = (PropertyType)CollectionUtils.find(
4025             ends,
4026             new Predicate()
4027             {
4028                 public boolean evaluate(final Object object)
4029                 {
4030                     return ((PropertyType)object).name.equals(name);
4031                 }
4032             });
4033         return type != null ? type.type : null;
4034     }
4035 
4036     /**
4037      * Gets the type of the property given the <code>ownerType</code>
4038      * and <code>name</code>
4039      *
4040      * @param ownerType the owner of the association.
4041      * @param name the name of the association end to find.
4042      * @return the type of the association end.
4043      */
4044     public static Class getPropertyType(final Class ownerType, final String name)
4045     {
4046         Class type = getNavigableAssociationEndType(ownerType, name);
4047         if (type == null)
4048         {
4049             type = getEmbeddedValueType(ownerType, name);
4050         }
4051         return type;
4052     }
4053 
4054     /**
4055      * A private class storing the name and type.
4056      */
4057     protected static final class PropertyType
4058     {
4059         /**
4060          * @param nameIn
4061          * @param typeIn
4062          */
4063         protected PropertyType(final String nameIn, final Class typeIn)
4064         {
4065             this.name = nameIn;
4066             this.type = typeIn;
4067         }
4068 
4069         /** PropertyType name */
4070         protected String name;
4071         /** PropertyType type Class */
4072         protected Class type;
4073     }
4074 }