diff --git a/Kalliope.DTO/AutoGenDto/ConstraintRoleSequenceWithJoin.cs b/Kalliope.DTO/AutoGenDto/ConstraintRoleSequenceWithJoin.cs index 3bec0b1b..7cb2ecbd 100644 --- a/Kalliope.DTO/AutoGenDto/ConstraintRoleSequenceWithJoin.cs +++ b/Kalliope.DTO/AutoGenDto/ConstraintRoleSequenceWithJoin.cs @@ -33,12 +33,12 @@ namespace Kalliope.DTO /// A Data Transfer Object that represents a ConstraintRoleSequenceWithJoin /// [Container(typeName: "SetConstraintWithJoin", propertyName: "RoleSequence")] - public partial class ConstraintRoleSequenceWithJoin : OrmNamedElement + public abstract partial class ConstraintRoleSequenceWithJoin : OrmNamedElement { /// /// Initializes a new instance of the class. /// - public ConstraintRoleSequenceWithJoin() + protected ConstraintRoleSequenceWithJoin() { this.Roles = new List(); } @@ -50,18 +50,18 @@ public ConstraintRoleSequenceWithJoin() /// - /// Gets or sets the unique identifier of the contained + /// Gets or sets the unique identifier of the contained /// [Description("")] - [Property(name: "JoinPath", aggregation: AggregationKind.Composite, multiplicity: "0..1", typeKind: TypeKind.Object, defaultValue: "", typeName: "ConstraintRoleSequenceJoinPath", allowOverride: false, isOverride: false, isDerived: false)] - public string JoinPath { get; set; } + [Property(name: "JoinPathRequiredError", aggregation: AggregationKind.Composite, multiplicity: "0..1", typeKind: TypeKind.Object, defaultValue: "", typeName: "JoinPathRequiredError", allowOverride: false, isOverride: false, isDerived: false)] + public string JoinPathRequiredError { get; set; } /// - /// Gets or sets the unique identifier of the contained + /// Gets or sets the unique identifier of the contained /// [Description("")] - [Property(name: "JoinPathRequiredError", aggregation: AggregationKind.Composite, multiplicity: "0..1", typeKind: TypeKind.Object, defaultValue: "", typeName: "JoinPathRequiredError", allowOverride: false, isOverride: false, isDerived: false)] - public string JoinPathRequiredError { get; set; } + [Property(name: "JoinRule", aggregation: AggregationKind.Composite, multiplicity: "0..1", typeKind: TypeKind.Object, defaultValue: "", typeName: "JoinRule", allowOverride: false, isOverride: false, isDerived: false)] + public string JoinRule { get; set; } /// /// Gets or sets a list unique identifiers of the contained instances diff --git a/Kalliope.DTO/AutoGenDto/ConstraintRoleSequenceWithJoinAndId.cs b/Kalliope.DTO/AutoGenDto/ConstraintRoleSequenceWithJoinAndId.cs new file mode 100644 index 00000000..9253f09e --- /dev/null +++ b/Kalliope.DTO/AutoGenDto/ConstraintRoleSequenceWithJoinAndId.cs @@ -0,0 +1,50 @@ +// ------------------------------------------------------------------------------------------------- +// +// +// Copyright 2022-2023 RHEA System S.A. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// ------------------------------------------------------------------------------------------------ + +// ------------------------------------------------------------------------------------------------ +// --------THIS IS AN AUTOMATICALLY GENERATED FILE. ANY MANUAL CHANGES WILL BE OVERWRITTEN!-------- +// ------------------------------------------------------------------------------------------------ + +namespace Kalliope.DTO +{ + using System; + using System.Collections.Generic; + + using Kalliope.Common; + + /// + /// A Data Transfer Object that represents a ConstraintRoleSequenceWithJoinAndId + /// + [Container(typeName: "ConstraintRoleSequences", propertyName: "RoleSequence")] + public partial class ConstraintRoleSequenceWithJoinAndId : ConstraintRoleSequenceWithJoin + { + /// + /// Initializes a new instance of the class. + /// + public ConstraintRoleSequenceWithJoinAndId() + { + } + + } +} + +// ------------------------------------------------------------------------------------------------ +// --------THIS IS AN AUTOMATICALLY GENERATED FILE. ANY MANUAL CHANGES WILL BE OVERWRITTEN!-------- +// ------------------------------------------------------------------------------------------------ diff --git a/Kalliope.DTO/AutoGenDto/ConstraintRoleSequences.cs b/Kalliope.DTO/AutoGenDto/ConstraintRoleSequences.cs new file mode 100644 index 00000000..1278daa5 --- /dev/null +++ b/Kalliope.DTO/AutoGenDto/ConstraintRoleSequences.cs @@ -0,0 +1,64 @@ +// ------------------------------------------------------------------------------------------------- +// +// +// Copyright 2022-2023 RHEA System S.A. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// ------------------------------------------------------------------------------------------------ + +// ------------------------------------------------------------------------------------------------ +// --------THIS IS AN AUTOMATICALLY GENERATED FILE. ANY MANUAL CHANGES WILL BE OVERWRITTEN!-------- +// ------------------------------------------------------------------------------------------------ + +namespace Kalliope.DTO +{ + using System; + using System.Collections.Generic; + + using Kalliope.Common; + + /// + /// A Data Transfer Object that represents a ConstraintRoleSequences + /// + [Container(typeName: "SetConstraint", propertyName: "RoleSequences")] + public partial class ConstraintRoleSequences : OrmNamedElement + { + /// + /// Initializes a new instance of the class. + /// + public ConstraintRoleSequences() + { + this.RoleSequence = new List(); + } + + /// + /// Gets or sets the unique identifier of the container + /// + public string Container {get; set;} + + + /// + /// Gets or sets a list unique identifiers of the contained instances + /// + [Description("")] + [Property(name: "RoleSequence", aggregation: AggregationKind.Composite, multiplicity: "0..*", typeKind: TypeKind.Object, defaultValue: "", typeName: "ConstraintRoleSequenceWithJoinAndId", allowOverride: false, isOverride: false, isDerived: false)] + public List RoleSequence { get; set; } + + } +} + +// ------------------------------------------------------------------------------------------------ +// --------THIS IS AN AUTOMATICALLY GENERATED FILE. ANY MANUAL CHANGES WILL BE OVERWRITTEN!-------- +// ------------------------------------------------------------------------------------------------ diff --git a/Kalliope.DTO/AutoGenDto/JoinRule.cs b/Kalliope.DTO/AutoGenDto/JoinRule.cs new file mode 100644 index 00000000..61e590e5 --- /dev/null +++ b/Kalliope.DTO/AutoGenDto/JoinRule.cs @@ -0,0 +1,70 @@ +// ------------------------------------------------------------------------------------------------- +// +// +// Copyright 2022-2023 RHEA System S.A. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// ------------------------------------------------------------------------------------------------ + +// ------------------------------------------------------------------------------------------------ +// --------THIS IS AN AUTOMATICALLY GENERATED FILE. ANY MANUAL CHANGES WILL BE OVERWRITTEN!-------- +// ------------------------------------------------------------------------------------------------ + +namespace Kalliope.DTO +{ + using System; + using System.Collections.Generic; + + using Kalliope.Common; + + /// + /// A Data Transfer Object that represents a JoinRule + /// + [Container(typeName: "ConstraintRoleSequenceWithJoin", propertyName: "JoinRule")] + public partial class JoinRule : ModelThing + { + /// + /// Initializes a new instance of the class. + /// + public JoinRule() + { + } + + /// + /// Gets or sets the unique identifier of the container + /// + public string Container {get; set;} + + + /// + /// Gets or sets the unique identifier of the contained + /// + [Description("")] + [Property(name: "JoinPath", aggregation: AggregationKind.Composite, multiplicity: "0..1", typeKind: TypeKind.Object, defaultValue: "", typeName: "ConstraintRoleSequenceJoinPath", allowOverride: false, isOverride: false, isDerived: false)] + public string JoinPath { get; set; } + + /// + /// Gets or sets the unique identifier of the contained + /// + [Description("")] + [Property(name: "JoinPathRequiredError", aggregation: AggregationKind.Composite, multiplicity: "0..1", typeKind: TypeKind.Object, defaultValue: "", typeName: "JoinPathRequiredError", allowOverride: false, isOverride: false, isDerived: false)] + public string JoinPathRequiredError { get; set; } + + } +} + +// ------------------------------------------------------------------------------------------------ +// --------THIS IS AN AUTOMATICALLY GENERATED FILE. ANY MANUAL CHANGES WILL BE OVERWRITTEN!-------- +// ------------------------------------------------------------------------------------------------ diff --git a/Kalliope.Dal/AutoGenExtension/ConstraintRoleSequenceWithJoinAndIdExtensions.cs b/Kalliope.Dal/AutoGenExtension/ConstraintRoleSequenceWithJoinAndIdExtensions.cs new file mode 100644 index 00000000..6cb5a3b6 --- /dev/null +++ b/Kalliope.Dal/AutoGenExtension/ConstraintRoleSequenceWithJoinAndIdExtensions.cs @@ -0,0 +1,210 @@ +// ------------------------------------------------------------------------------------------------- +// +// +// Copyright 2022-2023 RHEA System S.A. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// ------------------------------------------------------------------------------------------------ + +// ------------------------------------------------------------------------------------------------ +// --------THIS IS AN AUTOMATICALLY GENERATED FILE. ANY MANUAL CHANGES WILL BE OVERWRITTEN!-------- +// ------------------------------------------------------------------------------------------------ + +namespace Kalliope.Dal +{ + using System; + using System.Collections.Concurrent; + using System.Collections.Generic; + using System.Linq; + + using Kalliope.Absorption; + using Kalliope.Common; + using Kalliope.Core; + using Kalliope.CustomProperties; + using Kalliope.Diagrams; + + /// + /// A static class that provides extension methods for the class + /// + public static class ConstraintRoleSequenceWithJoinAndIdExtensions + { + /// + /// Updates the value properties of the by setting the value equal to that of the dto + /// Removes deleted objects from the reference properties and returns the unique identifiers + /// of the objects that have been removed from properties + /// + /// + /// The that is to be updated + /// + /// + /// The DTO that is used to update the with + /// + /// + /// The unique identifiers of the objects that have been removed from properties + /// + /// + /// Thrown when the or is null + /// + public static IEnumerable UpdateValueAndRemoveDeletedReferenceProperties(this Kalliope.Core.ConstraintRoleSequenceWithJoinAndId poco, Kalliope.DTO.ConstraintRoleSequenceWithJoinAndId dto) + { + if (poco == null) + { + throw new ArgumentNullException(nameof(poco), $"the {nameof(poco)} may not be null"); + } + + if (dto == null) + { + throw new ArgumentNullException(nameof(dto), $"the {nameof(dto)} may not be null"); + } + + var identifiersOfObjectsToDelete = new List(); + + var associatedModelErrorsToDelete = poco.AssociatedModelErrors.Select(x => x.Id).Except(dto.AssociatedModelErrors); + foreach (var identifier in associatedModelErrorsToDelete) + { + var modelError = poco.AssociatedModelErrors.Single(x => x.Id == identifier); + poco.AssociatedModelErrors.Remove(modelError); + } + + var extensionModelErrorsToDelete = poco.ExtensionModelErrors.Select(x => x.Id).Except(dto.ExtensionModelErrors); + foreach (var identifier in extensionModelErrorsToDelete) + { + var modelError = poco.ExtensionModelErrors.Single(x => x.Id == identifier); + poco.ExtensionModelErrors.Remove(modelError); + } + + var extensionsToDelete = poco.Extensions.Select(x => x.Id).Except(dto.Extensions); + identifiersOfObjectsToDelete.AddRange(extensionsToDelete); + foreach (var identifier in extensionsToDelete) + { + var extension = poco.Extensions.Single(x => x.Id == identifier); + poco.Extensions.Remove(extension); + } + + if (poco.JoinPathRequiredError != null && poco.JoinPathRequiredError.Id != dto.JoinPathRequiredError) + { + identifiersOfObjectsToDelete.Add(poco.JoinPathRequiredError.Id); + poco.JoinPathRequiredError = null; + } + + if (poco.JoinRule != null && poco.JoinRule.Id != dto.JoinRule) + { + identifiersOfObjectsToDelete.Add(poco.JoinRule.Id); + poco.JoinRule = null; + } + + poco.Name = dto.Name; + + var rolesToDelete = poco.Roles.Select(x => x.Id).Except(dto.Roles); + identifiersOfObjectsToDelete.AddRange(rolesToDelete); + foreach (var identifier in rolesToDelete) + { + var roleBase = poco.Roles.Single(x => x.Id == identifier); + poco.Roles.Remove(roleBase); + } + + return identifiersOfObjectsToDelete; + } + + /// + /// Updates the Reference properties of the using the data (identifiers) encapsulated in the DTO + /// and the provided cache to find the referenced object. + /// + /// + /// The that is to be updated + /// + /// + /// The DTO that is used to update the with + /// + /// + /// The that contains the + /// s that are know and cached. + /// + /// + public static void UpdateReferenceProperties(this Kalliope.Core.ConstraintRoleSequenceWithJoinAndId poco, Kalliope.DTO.ConstraintRoleSequenceWithJoinAndId dto, ConcurrentDictionary> cache) + { + if (poco == null) + { + throw new ArgumentNullException(nameof(poco), $"the {nameof(poco)} may not be null"); + } + + if (dto == null) + { + throw new ArgumentNullException(nameof(dto), $"the {nameof(dto)} may not be null"); + } + + if (cache == null) + { + throw new ArgumentNullException(nameof(cache), $"the {nameof(cache)} may not be null"); + } + + Lazy lazyPoco; + + var associatedModelErrorsToAdd = dto.AssociatedModelErrors.Except(poco.AssociatedModelErrors.Select(x => x.Id)); + foreach (var identifier in associatedModelErrorsToAdd) + { + if (cache.TryGetValue(identifier, out lazyPoco)) + { + var modelError = (ModelError)lazyPoco.Value; + poco.AssociatedModelErrors.Add(modelError); + } + } + + var extensionModelErrorsToAdd = dto.ExtensionModelErrors.Except(poco.ExtensionModelErrors.Select(x => x.Id)); + foreach (var identifier in extensionModelErrorsToAdd) + { + if (cache.TryGetValue(identifier, out lazyPoco)) + { + var modelError = (ModelError)lazyPoco.Value; + poco.ExtensionModelErrors.Add(modelError); + } + } + + var extensionsToAdd = dto.Extensions.Except(poco.Extensions.Select(x => x.Id)); + foreach (var identifier in extensionsToAdd) + { + if (cache.TryGetValue(identifier, out lazyPoco)) + { + var extension = (Extension)lazyPoco.Value; + poco.Extensions.Add(extension); + } + } + + if (poco.JoinPathRequiredError == null && !string.IsNullOrEmpty(dto.JoinPathRequiredError) && cache.TryGetValue(dto.JoinPathRequiredError, out lazyPoco)) + { + poco.JoinPathRequiredError = (JoinPathRequiredError)lazyPoco.Value; + } + + if (poco.JoinRule == null && !string.IsNullOrEmpty(dto.JoinRule) && cache.TryGetValue(dto.JoinRule, out lazyPoco)) + { + poco.JoinRule = (JoinRule)lazyPoco.Value; + } + + var rolesToAdd = dto.Roles.Except(poco.Roles.Select(x => x.Id)); + foreach (var identifier in rolesToAdd) + { + if (cache.TryGetValue(identifier, out lazyPoco)) + { + var roleBase = (RoleBase)lazyPoco.Value; + poco.Roles.Add(roleBase); + } + } + } + } +} + +// ------------------------------------------------------------------------------------------------ +// --------THIS IS AN AUTOMATICALLY GENERATED FILE. ANY MANUAL CHANGES WILL BE OVERWRITTEN!-------- +// ------------------------------------------------------------------------------------------------ diff --git a/Kalliope.Dal/AutoGenExtension/ConstraintRoleSequenceWithJoinExtensions.cs b/Kalliope.Dal/AutoGenExtension/ConstraintRoleSequenceWithJoinExtensions.cs index 40960bec..65f3436a 100644 --- a/Kalliope.Dal/AutoGenExtension/ConstraintRoleSequenceWithJoinExtensions.cs +++ b/Kalliope.Dal/AutoGenExtension/ConstraintRoleSequenceWithJoinExtensions.cs @@ -93,18 +93,18 @@ public static IEnumerable UpdateValueAndRemoveDeletedReferenceProperties poco.Extensions.Remove(extension); } - if (poco.JoinPath != null && poco.JoinPath.Id != dto.JoinPath) - { - identifiersOfObjectsToDelete.Add(poco.JoinPath.Id); - poco.JoinPath = null; - } - if (poco.JoinPathRequiredError != null && poco.JoinPathRequiredError.Id != dto.JoinPathRequiredError) { identifiersOfObjectsToDelete.Add(poco.JoinPathRequiredError.Id); poco.JoinPathRequiredError = null; } + if (poco.JoinRule != null && poco.JoinRule.Id != dto.JoinRule) + { + identifiersOfObjectsToDelete.Add(poco.JoinRule.Id); + poco.JoinRule = null; + } + poco.Name = dto.Name; var rolesToDelete = poco.Roles.Select(x => x.Id).Except(dto.Roles); @@ -182,14 +182,14 @@ public static void UpdateReferenceProperties(this Kalliope.Core.ConstraintRoleSe } } - if (poco.JoinPath == null && !string.IsNullOrEmpty(dto.JoinPath) && cache.TryGetValue(dto.JoinPath, out lazyPoco)) + if (poco.JoinPathRequiredError == null && !string.IsNullOrEmpty(dto.JoinPathRequiredError) && cache.TryGetValue(dto.JoinPathRequiredError, out lazyPoco)) { - poco.JoinPath = (ConstraintRoleSequenceJoinPath)lazyPoco.Value; + poco.JoinPathRequiredError = (JoinPathRequiredError)lazyPoco.Value; } - if (poco.JoinPathRequiredError == null && !string.IsNullOrEmpty(dto.JoinPathRequiredError) && cache.TryGetValue(dto.JoinPathRequiredError, out lazyPoco)) + if (poco.JoinRule == null && !string.IsNullOrEmpty(dto.JoinRule) && cache.TryGetValue(dto.JoinRule, out lazyPoco)) { - poco.JoinPathRequiredError = (JoinPathRequiredError)lazyPoco.Value; + poco.JoinRule = (JoinRule)lazyPoco.Value; } var rolesToAdd = dto.Roles.Except(poco.Roles.Select(x => x.Id)); diff --git a/Kalliope.Dal/AutoGenExtension/ConstraintRoleSequencesExtensions.cs b/Kalliope.Dal/AutoGenExtension/ConstraintRoleSequencesExtensions.cs new file mode 100644 index 00000000..e2dd0c1e --- /dev/null +++ b/Kalliope.Dal/AutoGenExtension/ConstraintRoleSequencesExtensions.cs @@ -0,0 +1,188 @@ +// ------------------------------------------------------------------------------------------------- +// +// +// Copyright 2022-2023 RHEA System S.A. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// ------------------------------------------------------------------------------------------------ + +// ------------------------------------------------------------------------------------------------ +// --------THIS IS AN AUTOMATICALLY GENERATED FILE. ANY MANUAL CHANGES WILL BE OVERWRITTEN!-------- +// ------------------------------------------------------------------------------------------------ + +namespace Kalliope.Dal +{ + using System; + using System.Collections.Concurrent; + using System.Collections.Generic; + using System.Linq; + + using Kalliope.Absorption; + using Kalliope.Common; + using Kalliope.Core; + using Kalliope.CustomProperties; + using Kalliope.Diagrams; + + /// + /// A static class that provides extension methods for the class + /// + public static class ConstraintRoleSequencesExtensions + { + /// + /// Updates the value properties of the by setting the value equal to that of the dto + /// Removes deleted objects from the reference properties and returns the unique identifiers + /// of the objects that have been removed from properties + /// + /// + /// The that is to be updated + /// + /// + /// The DTO that is used to update the with + /// + /// + /// The unique identifiers of the objects that have been removed from properties + /// + /// + /// Thrown when the or is null + /// + public static IEnumerable UpdateValueAndRemoveDeletedReferenceProperties(this Kalliope.Core.ConstraintRoleSequences poco, Kalliope.DTO.ConstraintRoleSequences dto) + { + if (poco == null) + { + throw new ArgumentNullException(nameof(poco), $"the {nameof(poco)} may not be null"); + } + + if (dto == null) + { + throw new ArgumentNullException(nameof(dto), $"the {nameof(dto)} may not be null"); + } + + var identifiersOfObjectsToDelete = new List(); + + var associatedModelErrorsToDelete = poco.AssociatedModelErrors.Select(x => x.Id).Except(dto.AssociatedModelErrors); + foreach (var identifier in associatedModelErrorsToDelete) + { + var modelError = poco.AssociatedModelErrors.Single(x => x.Id == identifier); + poco.AssociatedModelErrors.Remove(modelError); + } + + var extensionModelErrorsToDelete = poco.ExtensionModelErrors.Select(x => x.Id).Except(dto.ExtensionModelErrors); + foreach (var identifier in extensionModelErrorsToDelete) + { + var modelError = poco.ExtensionModelErrors.Single(x => x.Id == identifier); + poco.ExtensionModelErrors.Remove(modelError); + } + + var extensionsToDelete = poco.Extensions.Select(x => x.Id).Except(dto.Extensions); + identifiersOfObjectsToDelete.AddRange(extensionsToDelete); + foreach (var identifier in extensionsToDelete) + { + var extension = poco.Extensions.Single(x => x.Id == identifier); + poco.Extensions.Remove(extension); + } + + poco.Name = dto.Name; + + var roleSequenceToDelete = poco.RoleSequence.Select(x => x.Id).Except(dto.RoleSequence); + identifiersOfObjectsToDelete.AddRange(roleSequenceToDelete); + foreach (var identifier in roleSequenceToDelete) + { + var constraintRoleSequenceWithJoinAndId = poco.RoleSequence.Single(x => x.Id == identifier); + poco.RoleSequence.Remove(constraintRoleSequenceWithJoinAndId); + } + + return identifiersOfObjectsToDelete; + } + + /// + /// Updates the Reference properties of the using the data (identifiers) encapsulated in the DTO + /// and the provided cache to find the referenced object. + /// + /// + /// The that is to be updated + /// + /// + /// The DTO that is used to update the with + /// + /// + /// The that contains the + /// s that are know and cached. + /// + /// + public static void UpdateReferenceProperties(this Kalliope.Core.ConstraintRoleSequences poco, Kalliope.DTO.ConstraintRoleSequences dto, ConcurrentDictionary> cache) + { + if (poco == null) + { + throw new ArgumentNullException(nameof(poco), $"the {nameof(poco)} may not be null"); + } + + if (dto == null) + { + throw new ArgumentNullException(nameof(dto), $"the {nameof(dto)} may not be null"); + } + + if (cache == null) + { + throw new ArgumentNullException(nameof(cache), $"the {nameof(cache)} may not be null"); + } + + Lazy lazyPoco; + + var associatedModelErrorsToAdd = dto.AssociatedModelErrors.Except(poco.AssociatedModelErrors.Select(x => x.Id)); + foreach (var identifier in associatedModelErrorsToAdd) + { + if (cache.TryGetValue(identifier, out lazyPoco)) + { + var modelError = (ModelError)lazyPoco.Value; + poco.AssociatedModelErrors.Add(modelError); + } + } + + var extensionModelErrorsToAdd = dto.ExtensionModelErrors.Except(poco.ExtensionModelErrors.Select(x => x.Id)); + foreach (var identifier in extensionModelErrorsToAdd) + { + if (cache.TryGetValue(identifier, out lazyPoco)) + { + var modelError = (ModelError)lazyPoco.Value; + poco.ExtensionModelErrors.Add(modelError); + } + } + + var extensionsToAdd = dto.Extensions.Except(poco.Extensions.Select(x => x.Id)); + foreach (var identifier in extensionsToAdd) + { + if (cache.TryGetValue(identifier, out lazyPoco)) + { + var extension = (Extension)lazyPoco.Value; + poco.Extensions.Add(extension); + } + } + + var roleSequenceToAdd = dto.RoleSequence.Except(poco.RoleSequence.Select(x => x.Id)); + foreach (var identifier in roleSequenceToAdd) + { + if (cache.TryGetValue(identifier, out lazyPoco)) + { + var constraintRoleSequenceWithJoinAndId = (ConstraintRoleSequenceWithJoinAndId)lazyPoco.Value; + poco.RoleSequence.Add(constraintRoleSequenceWithJoinAndId); + } + } + } + } +} + +// ------------------------------------------------------------------------------------------------ +// --------THIS IS AN AUTOMATICALLY GENERATED FILE. ANY MANUAL CHANGES WILL BE OVERWRITTEN!-------- +// ------------------------------------------------------------------------------------------------ diff --git a/Kalliope.Dal/AutoGenExtension/JoinRuleExtensions.cs b/Kalliope.Dal/AutoGenExtension/JoinRuleExtensions.cs new file mode 100644 index 00000000..fccb5f3f --- /dev/null +++ b/Kalliope.Dal/AutoGenExtension/JoinRuleExtensions.cs @@ -0,0 +1,138 @@ +// ------------------------------------------------------------------------------------------------- +// +// +// Copyright 2022-2023 RHEA System S.A. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// ------------------------------------------------------------------------------------------------ + +// ------------------------------------------------------------------------------------------------ +// --------THIS IS AN AUTOMATICALLY GENERATED FILE. ANY MANUAL CHANGES WILL BE OVERWRITTEN!-------- +// ------------------------------------------------------------------------------------------------ + +namespace Kalliope.Dal +{ + using System; + using System.Collections.Concurrent; + using System.Collections.Generic; + using System.Linq; + + using Kalliope.Absorption; + using Kalliope.Common; + using Kalliope.Core; + using Kalliope.CustomProperties; + using Kalliope.Diagrams; + + /// + /// A static class that provides extension methods for the class + /// + public static class JoinRuleExtensions + { + /// + /// Updates the value properties of the by setting the value equal to that of the dto + /// Removes deleted objects from the reference properties and returns the unique identifiers + /// of the objects that have been removed from properties + /// + /// + /// The that is to be updated + /// + /// + /// The DTO that is used to update the with + /// + /// + /// The unique identifiers of the objects that have been removed from properties + /// + /// + /// Thrown when the or is null + /// + public static IEnumerable UpdateValueAndRemoveDeletedReferenceProperties(this Kalliope.Core.JoinRule poco, Kalliope.DTO.JoinRule dto) + { + if (poco == null) + { + throw new ArgumentNullException(nameof(poco), $"the {nameof(poco)} may not be null"); + } + + if (dto == null) + { + throw new ArgumentNullException(nameof(dto), $"the {nameof(dto)} may not be null"); + } + + var identifiersOfObjectsToDelete = new List(); + + if (poco.JoinPath != null && poco.JoinPath.Id != dto.JoinPath) + { + identifiersOfObjectsToDelete.Add(poco.JoinPath.Id); + poco.JoinPath = null; + } + + if (poco.JoinPathRequiredError != null && poco.JoinPathRequiredError.Id != dto.JoinPathRequiredError) + { + identifiersOfObjectsToDelete.Add(poco.JoinPathRequiredError.Id); + poco.JoinPathRequiredError = null; + } + + return identifiersOfObjectsToDelete; + } + + /// + /// Updates the Reference properties of the using the data (identifiers) encapsulated in the DTO + /// and the provided cache to find the referenced object. + /// + /// + /// The that is to be updated + /// + /// + /// The DTO that is used to update the with + /// + /// + /// The that contains the + /// s that are know and cached. + /// + /// + public static void UpdateReferenceProperties(this Kalliope.Core.JoinRule poco, Kalliope.DTO.JoinRule dto, ConcurrentDictionary> cache) + { + if (poco == null) + { + throw new ArgumentNullException(nameof(poco), $"the {nameof(poco)} may not be null"); + } + + if (dto == null) + { + throw new ArgumentNullException(nameof(dto), $"the {nameof(dto)} may not be null"); + } + + if (cache == null) + { + throw new ArgumentNullException(nameof(cache), $"the {nameof(cache)} may not be null"); + } + + Lazy lazyPoco; + + if (poco.JoinPath == null && !string.IsNullOrEmpty(dto.JoinPath) && cache.TryGetValue(dto.JoinPath, out lazyPoco)) + { + poco.JoinPath = (ConstraintRoleSequenceJoinPath)lazyPoco.Value; + } + + if (poco.JoinPathRequiredError == null && !string.IsNullOrEmpty(dto.JoinPathRequiredError) && cache.TryGetValue(dto.JoinPathRequiredError, out lazyPoco)) + { + poco.JoinPathRequiredError = (JoinPathRequiredError)lazyPoco.Value; + } + } + } +} + +// ------------------------------------------------------------------------------------------------ +// --------THIS IS AN AUTOMATICALLY GENERATED FILE. ANY MANUAL CHANGES WILL BE OVERWRITTEN!-------- +// ------------------------------------------------------------------------------------------------ diff --git a/Kalliope.Dal/AutoGenModelThing/ModelThingExtensions.cs b/Kalliope.Dal/AutoGenModelThing/ModelThingExtensions.cs index a0758e23..8d85d8b1 100644 --- a/Kalliope.Dal/AutoGenModelThing/ModelThingExtensions.cs +++ b/Kalliope.Dal/AutoGenModelThing/ModelThingExtensions.cs @@ -140,9 +140,12 @@ public static IEnumerable UpdateValueAndRemoveDeletedReferenceProperties case "ConstraintRoleSequenceJoinPathRequiresProjectionError": var constraintRoleSequenceJoinPathRequiresProjectionError = poco as Kalliope.Core.ConstraintRoleSequenceJoinPathRequiresProjectionError; return constraintRoleSequenceJoinPathRequiresProjectionError.UpdateValueAndRemoveDeletedReferenceProperties((Kalliope.DTO.ConstraintRoleSequenceJoinPathRequiresProjectionError)dto); - case "ConstraintRoleSequenceWithJoin": - var constraintRoleSequenceWithJoin = poco as Kalliope.Core.ConstraintRoleSequenceWithJoin; - return constraintRoleSequenceWithJoin.UpdateValueAndRemoveDeletedReferenceProperties((Kalliope.DTO.ConstraintRoleSequenceWithJoin)dto); + case "ConstraintRoleSequences": + var constraintRoleSequences = poco as Kalliope.Core.ConstraintRoleSequences; + return constraintRoleSequences.UpdateValueAndRemoveDeletedReferenceProperties((Kalliope.DTO.ConstraintRoleSequences)dto); + case "ConstraintRoleSequenceWithJoinAndId": + var constraintRoleSequenceWithJoinAndId = poco as Kalliope.Core.ConstraintRoleSequenceWithJoinAndId; + return constraintRoleSequenceWithJoinAndId.UpdateValueAndRemoveDeletedReferenceProperties((Kalliope.DTO.ConstraintRoleSequenceWithJoinAndId)dto); case "CorrelatedPathRoleRequiresCompatibleRolePlayerError": var correlatedPathRoleRequiresCompatibleRolePlayerError = poco as Kalliope.Core.CorrelatedPathRoleRequiresCompatibleRolePlayerError; return correlatedPathRoleRequiresCompatibleRolePlayerError.UpdateValueAndRemoveDeletedReferenceProperties((Kalliope.DTO.CorrelatedPathRoleRequiresCompatibleRolePlayerError)dto); @@ -377,6 +380,9 @@ public static IEnumerable UpdateValueAndRemoveDeletedReferenceProperties case "JoinPathRequiresProjectionError": var joinPathRequiresProjectionError = poco as Kalliope.Core.JoinPathRequiresProjectionError; return joinPathRequiresProjectionError.UpdateValueAndRemoveDeletedReferenceProperties((Kalliope.DTO.JoinPathRequiresProjectionError)dto); + case "JoinRule": + var joinRule = poco as Kalliope.Core.JoinRule; + return joinRule.UpdateValueAndRemoveDeletedReferenceProperties((Kalliope.DTO.JoinRule)dto); case "LargeLengthRawDataDataType": var largeLengthRawDataDataType = poco as Kalliope.Core.LargeLengthRawDataDataType; return largeLengthRawDataDataType.UpdateValueAndRemoveDeletedReferenceProperties((Kalliope.DTO.LargeLengthRawDataDataType)dto); @@ -895,9 +901,13 @@ public static void UpdateReferenceProperties(this Kalliope.Core.ModelThing poco, var constraintRoleSequenceJoinPathRequiresProjectionError = poco as Kalliope.Core.ConstraintRoleSequenceJoinPathRequiresProjectionError; constraintRoleSequenceJoinPathRequiresProjectionError.UpdateReferenceProperties((Kalliope.DTO.ConstraintRoleSequenceJoinPathRequiresProjectionError)dto, cache); break; - case "ConstraintRoleSequenceWithJoin": - var constraintRoleSequenceWithJoin = poco as Kalliope.Core.ConstraintRoleSequenceWithJoin; - constraintRoleSequenceWithJoin.UpdateReferenceProperties((Kalliope.DTO.ConstraintRoleSequenceWithJoin)dto, cache); + case "ConstraintRoleSequences": + var constraintRoleSequences = poco as Kalliope.Core.ConstraintRoleSequences; + constraintRoleSequences.UpdateReferenceProperties((Kalliope.DTO.ConstraintRoleSequences)dto, cache); + break; + case "ConstraintRoleSequenceWithJoinAndId": + var constraintRoleSequenceWithJoinAndId = poco as Kalliope.Core.ConstraintRoleSequenceWithJoinAndId; + constraintRoleSequenceWithJoinAndId.UpdateReferenceProperties((Kalliope.DTO.ConstraintRoleSequenceWithJoinAndId)dto, cache); break; case "CorrelatedPathRoleRequiresCompatibleRolePlayerError": var correlatedPathRoleRequiresCompatibleRolePlayerError = poco as Kalliope.Core.CorrelatedPathRoleRequiresCompatibleRolePlayerError; @@ -1211,6 +1221,10 @@ public static void UpdateReferenceProperties(this Kalliope.Core.ModelThing poco, var joinPathRequiresProjectionError = poco as Kalliope.Core.JoinPathRequiresProjectionError; joinPathRequiresProjectionError.UpdateReferenceProperties((Kalliope.DTO.JoinPathRequiresProjectionError)dto, cache); break; + case "JoinRule": + var joinRule = poco as Kalliope.Core.JoinRule; + joinRule.UpdateReferenceProperties((Kalliope.DTO.JoinRule)dto, cache); + break; case "LargeLengthRawDataDataType": var largeLengthRawDataDataType = poco as Kalliope.Core.LargeLengthRawDataDataType; largeLengthRawDataDataType.UpdateReferenceProperties((Kalliope.DTO.LargeLengthRawDataDataType)dto, cache); diff --git a/Kalliope.Dal/AutoGenModelThingFactories/ConstraintRoleSequenceWithJoinAndIdFactory.cs b/Kalliope.Dal/AutoGenModelThingFactories/ConstraintRoleSequenceWithJoinAndIdFactory.cs new file mode 100644 index 00000000..67021c1b --- /dev/null +++ b/Kalliope.Dal/AutoGenModelThingFactories/ConstraintRoleSequenceWithJoinAndIdFactory.cs @@ -0,0 +1,71 @@ +// ------------------------------------------------------------------------------------------------- +// +// +// Copyright 2022-2023 RHEA System S.A. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// ------------------------------------------------------------------------------------------------ + +// ------------------------------------------------------------------------------------------------ +// --------THIS IS AN AUTOMATICALLY GENERATED FILE. ANY MANUAL CHANGES WILL BE OVERWRITTEN!-------- +// ------------------------------------------------------------------------------------------------ + +namespace Kalliope.Dal +{ + using System; + + using Kalliope.Core; + using Kalliope.Diagrams; + + /// + /// The purpose of the is to create a new instance of a + /// based on a + /// + public class ConstraintRoleSequenceWithJoinAndIdFactory + { + /// + /// Creates an instance of the and sets the value properties + /// based on the DTO + /// + /// + /// The instance of the + /// + /// + /// an instance of + /// + /// + /// thrown when is null + /// + public Kalliope.Core.ConstraintRoleSequenceWithJoinAndId Create(Kalliope.DTO.ConstraintRoleSequenceWithJoinAndId dto) + { + if (dto == null) + { + throw new ArgumentNullException(nameof(dto), $"the {nameof(dto)} may not be null"); + } + + var constraintRoleSequenceWithJoinAndId = new Kalliope.Core.ConstraintRoleSequenceWithJoinAndId() + { + Id = dto.Id, + Name = dto.Name, + }; + + return constraintRoleSequenceWithJoinAndId; + } + } +} + +// ------------------------------------------------------------------------------------------------ +// --------THIS IS AN AUTOMATICALLY GENERATED FILE. ANY MANUAL CHANGES WILL BE OVERWRITTEN!-------- +// ------------------------------------------------------------------------------------------------ diff --git a/Kalliope.Dal/AutoGenModelThingFactories/ConstraintRoleSequencesFactory.cs b/Kalliope.Dal/AutoGenModelThingFactories/ConstraintRoleSequencesFactory.cs new file mode 100644 index 00000000..fb4a0df8 --- /dev/null +++ b/Kalliope.Dal/AutoGenModelThingFactories/ConstraintRoleSequencesFactory.cs @@ -0,0 +1,71 @@ +// ------------------------------------------------------------------------------------------------- +// +// +// Copyright 2022-2023 RHEA System S.A. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// ------------------------------------------------------------------------------------------------ + +// ------------------------------------------------------------------------------------------------ +// --------THIS IS AN AUTOMATICALLY GENERATED FILE. ANY MANUAL CHANGES WILL BE OVERWRITTEN!-------- +// ------------------------------------------------------------------------------------------------ + +namespace Kalliope.Dal +{ + using System; + + using Kalliope.Core; + using Kalliope.Diagrams; + + /// + /// The purpose of the is to create a new instance of a + /// based on a + /// + public class ConstraintRoleSequencesFactory + { + /// + /// Creates an instance of the and sets the value properties + /// based on the DTO + /// + /// + /// The instance of the + /// + /// + /// an instance of + /// + /// + /// thrown when is null + /// + public Kalliope.Core.ConstraintRoleSequences Create(Kalliope.DTO.ConstraintRoleSequences dto) + { + if (dto == null) + { + throw new ArgumentNullException(nameof(dto), $"the {nameof(dto)} may not be null"); + } + + var constraintRoleSequences = new Kalliope.Core.ConstraintRoleSequences() + { + Id = dto.Id, + Name = dto.Name, + }; + + return constraintRoleSequences; + } + } +} + +// ------------------------------------------------------------------------------------------------ +// --------THIS IS AN AUTOMATICALLY GENERATED FILE. ANY MANUAL CHANGES WILL BE OVERWRITTEN!-------- +// ------------------------------------------------------------------------------------------------ diff --git a/Kalliope.Dal/AutoGenModelThingFactories/JoinRuleFactory.cs b/Kalliope.Dal/AutoGenModelThingFactories/JoinRuleFactory.cs new file mode 100644 index 00000000..9aebf034 --- /dev/null +++ b/Kalliope.Dal/AutoGenModelThingFactories/JoinRuleFactory.cs @@ -0,0 +1,70 @@ +// ------------------------------------------------------------------------------------------------- +// +// +// Copyright 2022-2023 RHEA System S.A. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// ------------------------------------------------------------------------------------------------ + +// ------------------------------------------------------------------------------------------------ +// --------THIS IS AN AUTOMATICALLY GENERATED FILE. ANY MANUAL CHANGES WILL BE OVERWRITTEN!-------- +// ------------------------------------------------------------------------------------------------ + +namespace Kalliope.Dal +{ + using System; + + using Kalliope.Core; + using Kalliope.Diagrams; + + /// + /// The purpose of the is to create a new instance of a + /// based on a + /// + public class JoinRuleFactory + { + /// + /// Creates an instance of the and sets the value properties + /// based on the DTO + /// + /// + /// The instance of the + /// + /// + /// an instance of + /// + /// + /// thrown when is null + /// + public Kalliope.Core.JoinRule Create(Kalliope.DTO.JoinRule dto) + { + if (dto == null) + { + throw new ArgumentNullException(nameof(dto), $"the {nameof(dto)} may not be null"); + } + + var joinRule = new Kalliope.Core.JoinRule() + { + Id = dto.Id, + }; + + return joinRule; + } + } +} + +// ------------------------------------------------------------------------------------------------ +// --------THIS IS AN AUTOMATICALLY GENERATED FILE. ANY MANUAL CHANGES WILL BE OVERWRITTEN!-------- +// ------------------------------------------------------------------------------------------------ diff --git a/Kalliope.Dal/AutoGenModelThingFactory/ModelThingFactory.cs b/Kalliope.Dal/AutoGenModelThingFactory/ModelThingFactory.cs index 3ecc4a6b..4f72b42b 100644 --- a/Kalliope.Dal/AutoGenModelThingFactory/ModelThingFactory.cs +++ b/Kalliope.Dal/AutoGenModelThingFactory/ModelThingFactory.cs @@ -151,10 +151,14 @@ public Kalliope.Core.ModelThing Create(Kalliope.DTO.ModelThing dto) var constraintRoleSequenceJoinPathRequiresProjectionError = dto as Kalliope.DTO.ConstraintRoleSequenceJoinPathRequiresProjectionError; var constraintRoleSequenceJoinPathRequiresProjectionErrorFactory = new ConstraintRoleSequenceJoinPathRequiresProjectionErrorFactory(); return constraintRoleSequenceJoinPathRequiresProjectionErrorFactory.Create(constraintRoleSequenceJoinPathRequiresProjectionError); - case "ConstraintRoleSequenceWithJoin": - var constraintRoleSequenceWithJoin = dto as Kalliope.DTO.ConstraintRoleSequenceWithJoin; - var constraintRoleSequenceWithJoinFactory = new ConstraintRoleSequenceWithJoinFactory(); - return constraintRoleSequenceWithJoinFactory.Create(constraintRoleSequenceWithJoin); + case "ConstraintRoleSequences": + var constraintRoleSequences = dto as Kalliope.DTO.ConstraintRoleSequences; + var constraintRoleSequencesFactory = new ConstraintRoleSequencesFactory(); + return constraintRoleSequencesFactory.Create(constraintRoleSequences); + case "ConstraintRoleSequenceWithJoinAndId": + var constraintRoleSequenceWithJoinAndId = dto as Kalliope.DTO.ConstraintRoleSequenceWithJoinAndId; + var constraintRoleSequenceWithJoinAndIdFactory = new ConstraintRoleSequenceWithJoinAndIdFactory(); + return constraintRoleSequenceWithJoinAndIdFactory.Create(constraintRoleSequenceWithJoinAndId); case "CorrelatedPathRoleRequiresCompatibleRolePlayerError": var correlatedPathRoleRequiresCompatibleRolePlayerError = dto as Kalliope.DTO.CorrelatedPathRoleRequiresCompatibleRolePlayerError; var correlatedPathRoleRequiresCompatibleRolePlayerErrorFactory = new CorrelatedPathRoleRequiresCompatibleRolePlayerErrorFactory(); @@ -467,6 +471,10 @@ public Kalliope.Core.ModelThing Create(Kalliope.DTO.ModelThing dto) var joinPathRequiresProjectionError = dto as Kalliope.DTO.JoinPathRequiresProjectionError; var joinPathRequiresProjectionErrorFactory = new JoinPathRequiresProjectionErrorFactory(); return joinPathRequiresProjectionErrorFactory.Create(joinPathRequiresProjectionError); + case "JoinRule": + var joinRule = dto as Kalliope.DTO.JoinRule; + var joinRuleFactory = new JoinRuleFactory(); + return joinRuleFactory.Create(joinRule); case "LargeLengthRawDataDataType": var largeLengthRawDataDataType = dto as Kalliope.DTO.LargeLengthRawDataDataType; var largeLengthRawDataDataTypeFactory = new LargeLengthRawDataDataTypeFactory(); diff --git a/Kalliope.Xml/Readers/Core/Constraints/ConstraintXmlReader.cs b/Kalliope.Xml/Readers/Core/Constraints/ConstraintXmlReader.cs index a7e0c14b..5c4b8938 100644 --- a/Kalliope.Xml/Readers/Core/Constraints/ConstraintXmlReader.cs +++ b/Kalliope.Xml/Readers/Core/Constraints/ConstraintXmlReader.cs @@ -83,14 +83,52 @@ public void ReadXml(Constraint constraint, XmlReader reader, List mo } break; - case "RoleSequences": + case "RoleSequence": using (var roleSequencesSubtree = reader.ReadSubtree()) { roleSequencesSubtree.MoveToContent(); - this.ReadRoleSequences(constraint, roleSequencesSubtree, modelThings); + this.ReadRoleSequence(constraint, roleSequencesSubtree, modelThings); } break; - + + + case "PreferredIdentifierFor": + + using (var preferredIdentifierForSubtree = reader.ReadSubtree()) + { + preferredIdentifierForSubtree.MoveToContent(); + this.ReadPreferredIdentifierFor(constraint, preferredIdentifierForSubtree, modelThings); + } + break; + + case "ImpliedByObjectType": + + using (var impliedByObjectTypeSubtree = reader.ReadSubtree()) + { + impliedByObjectTypeSubtree.MoveToContent(); + this.ReadImpliedByObjectType(constraint, impliedByObjectTypeSubtree, modelThings); + } + break; + + case "InherentForObjectType": + + using (var inherentForObjectTypeSubtree = reader.ReadSubtree()) + { + inherentForObjectTypeSubtree.MoveToContent(); + this.ReadInherentForObjectType(constraint, inherentForObjectTypeSubtree, modelThings); + } + break; + + case "ExclusiveOrExclusionConstraint": + + using (var exclusiveOrExclusionConstraintSubtree = reader.ReadSubtree()) + { + exclusiveOrExclusionConstraintSubtree.MoveToContent(); + this.ReadExclusiveOrExclusionConstraint(constraint, exclusiveOrExclusionConstraintSubtree, modelThings); + } + break; + + default: throw new NotSupportedException($"{localName} not yet supported"); } @@ -107,24 +145,95 @@ public void ReadXml(Constraint constraint, XmlReader reader, List mo /// /// an instance of used to read the .orm file /// - protected virtual void ReadRoleSequences(Constraint constraint, XmlReader reader, List modelThings) + /// + /// a list of s to which the deserialized items are added + /// + protected virtual void ReadRoleSequence(Constraint constraint, XmlReader reader, List modelThings) { throw new NotSupportedException($"RoleSequences is not allowed on the {nameof(Constraint)} abstract baseclass"); } /// - /// reads the contained s - /// - /// - /// The container of the - /// - /// - /// an instance of used to read the .orm file - /// - /// - /// a list of s to which the deserialized items are added - /// - private void ReadDefinitions(Constraint constraint, XmlReader reader, List modelThings) + /// Reads PreferredIdentifierFor from the .orm file + /// + /// + /// The that contains the s + /// + /// + /// an instance of used to read the .orm file + /// + /// + /// a list of s to which the deserialized items are added + /// + protected virtual void ReadPreferredIdentifierFor(Constraint constraint, XmlReader reader, List modelThings) + { + throw new NotSupportedException($"PreferredIdentifierFor is not allowed on the {nameof(Constraint)} abstract baseclass"); + } + + /// + /// Reads ImpliedByObjectType from the .orm file + /// + /// + /// The that contains the s + /// + /// + /// an instance of used to read the .orm file + /// + /// + /// a list of s to which the deserialized items are added + /// + protected virtual void ReadImpliedByObjectType(Constraint constraint, XmlReader reader, List modelThings) + { + throw new NotSupportedException($"ImpliedByObjectType is not allowed on the {nameof(Constraint)} abstract baseclass"); + } + + /// + /// Reads InherentForObjectType from the .orm file + /// + /// + /// The that contains the s + /// + /// + /// an instance of used to read the .orm file + /// + /// + /// a list of s to which the deserialized items are added + /// + protected virtual void ReadInherentForObjectType(Constraint constraint, XmlReader reader, List modelThings) + { + throw new NotSupportedException($"InherentForObjectType is not allowed on the {nameof(Constraint)} abstract baseclass"); + } + + /// + /// Reads ExclusiveOrExclusionConstraint from the .orm file + /// + /// + /// The that contains the s + /// + /// + /// an instance of used to read the .orm file + /// + /// + /// a list of s to which the deserialized items are added + /// + protected virtual void ReadExclusiveOrExclusionConstraint(Constraint constraint, XmlReader reader, List modelThings) + { + throw new NotSupportedException($"ExclusiveOrExclusionConstraint is not allowed on the {nameof(Constraint)} abstract baseclass"); + } + + /// + /// reads the contained s + /// + /// + /// The container of the + /// + /// + /// an instance of used to read the .orm file + /// + /// + /// a list of s to which the deserialized items are added + /// + private void ReadDefinitions(Constraint constraint, XmlReader reader, List modelThings) { while (reader.Read()) { diff --git a/Kalliope.Xml/Readers/Core/Constraints/MandatoryConstraintXmlReader.cs b/Kalliope.Xml/Readers/Core/Constraints/MandatoryConstraintXmlReader.cs index 81455123..a5c92a97 100644 --- a/Kalliope.Xml/Readers/Core/Constraints/MandatoryConstraintXmlReader.cs +++ b/Kalliope.Xml/Readers/Core/Constraints/MandatoryConstraintXmlReader.cs @@ -47,8 +47,6 @@ public class MandatoryConstraintXmlReader : SetConstraintXmlReader /// public void ReadXml(MandatoryConstraint mandatoryConstraint, XmlReader reader, List modelThings) { - base.ReadXml(mandatoryConstraint, reader, modelThings); - var isSimple = reader.GetAttribute("IsSimple"); if (isSimple != null) { @@ -70,51 +68,70 @@ public void ReadXml(MandatoryConstraint mandatoryConstraint, XmlReader reader, L } } - using (var constraintSubtree = reader.ReadSubtree()) + base.ReadXml(mandatoryConstraint, reader, modelThings); + } + + + /// + /// Reads ImpliedByObjectType from the .orm file + /// + /// + /// The that contains the s + /// + /// + /// an instance of used to read the .orm file + /// + /// + /// a list of s to which the deserialized items are added + /// + protected override void ReadImpliedByObjectType(Constraint constraint, XmlReader reader, List modelThings) + { + var impliedByObjectType = reader.GetAttribute("ref"); + if (!string.IsNullOrEmpty(impliedByObjectType)) { - constraintSubtree.MoveToContent(); + ((MandatoryConstraint)constraint).ImpliedByObjectType = impliedByObjectType; + } + } - while (constraintSubtree.Read()) - { - if (constraintSubtree.MoveToContent() == XmlNodeType.Element) - { - var localName = reader.LocalName; + /// + /// Reads InherentForObjectType from the .orm file + /// + /// + /// The that contains the s + /// + /// + /// an instance of used to read the .orm file + /// + /// + /// a list of s to which the deserialized items are added + /// + protected override void ReadInherentForObjectType(Constraint constraint, XmlReader reader, List modelThings) + { + var inherentForObjectType = reader.GetAttribute("ref"); + if (!string.IsNullOrEmpty(inherentForObjectType)) + { + ((MandatoryConstraint)constraint).InherentForObjectType = inherentForObjectType; + } + } - switch (localName) - { - case "RoleSequence": - using (var roleSequenceSubtree = constraintSubtree.ReadSubtree()) - { - roleSequenceSubtree.MoveToContent(); - this.ReadRoleSequences(mandatoryConstraint, roleSequenceSubtree, modelThings); - } - break; - case "ImpliedByObjectType": - var impliedByObjectType = reader.GetAttribute("ref"); - if (!string.IsNullOrEmpty(impliedByObjectType) ) - { - mandatoryConstraint.ImpliedByObjectType = impliedByObjectType; - } - break; - case "InherentForObjectType": - var inherentForObjectType = reader.GetAttribute("ref"); - if (!string.IsNullOrEmpty(inherentForObjectType)) - { - mandatoryConstraint.InherentForObjectType = inherentForObjectType; - } - break; - case "ExclusiveOrExclusionConstraint": - var exclusiveOrExclusionConstraint = reader.GetAttribute("ref"); - if (!string.IsNullOrEmpty(exclusiveOrExclusionConstraint)) - { - mandatoryConstraint.ExclusiveOrExclusionConstraint = exclusiveOrExclusionConstraint; - } - break; - default: - throw new NotSupportedException($"{localName} not yet supported"); - } - } - } + /// + /// Reads ExclusiveOrExclusionConstraint from the .orm file + /// + /// + /// The that contains the s + /// + /// + /// an instance of used to read the .orm file + /// + /// + /// a list of s to which the deserialized items are added + /// + protected override void ReadExclusiveOrExclusionConstraint(Constraint constraint, XmlReader reader, List modelThings) + { + var exclusiveOrExclusionConstraint = reader.GetAttribute("ref"); + if (!string.IsNullOrEmpty(exclusiveOrExclusionConstraint)) + { + ((MandatoryConstraint)constraint).ExclusiveOrExclusionConstraint = exclusiveOrExclusionConstraint; } } } diff --git a/Kalliope.Xml/Readers/Core/Constraints/SetConstraintXmlReader.cs b/Kalliope.Xml/Readers/Core/Constraints/SetConstraintXmlReader.cs index 345c8ae0..b9ec60b5 100644 --- a/Kalliope.Xml/Readers/Core/Constraints/SetConstraintXmlReader.cs +++ b/Kalliope.Xml/Readers/Core/Constraints/SetConstraintXmlReader.cs @@ -58,7 +58,10 @@ public void ReadXml(SetConstraint setConstraint, XmlReader reader, List /// an instance of used to read the .orm file /// - protected override void ReadRoleSequences(Constraint constraint, XmlReader reader, List modelThings) + /// + /// a list of s to which the deserialized items are added + /// + protected override void ReadRoleSequence(Constraint constraint, XmlReader reader, List modelThings) { while (reader.Read()) { @@ -68,18 +71,29 @@ protected override void ReadRoleSequences(Constraint constraint, XmlReader reade switch (localName) { - case "RoleSequence": + case "Role": using (var roleSequenceSubTree = reader.ReadSubtree()) { roleSequenceSubTree.MoveToContent(); - var roleSequence = new ConstraintRoleSequence(); - var roleSequenceXmlReader = new ConstraintRoleSequenceXmlReader(); - roleSequenceXmlReader.ReadXml(roleSequence, roleSequenceSubTree, modelThings); - roleSequence.Container = constraint.Id; - ((SetConstraint)constraint).RoleSequences.Add(roleSequence.Id); + var roleRef = reader.GetAttribute("ref"); + ((SetConstraint)constraint).RoleSequences.Add(roleRef); } break; + + case "JoinRule": + //ToDo: Implement JoinRuleXmlReader + + using (var joinRuleSubTree = reader.ReadSubtree()) + { + joinRuleSubTree.MoveToContent(); + //var roleRef = reader.GetAttribute("ref"); + //((SetConstraint)constraint).RoleSequences.Add(roleRef); + } + + break; + + default: throw new NotSupportedException($"{localName} not yet supported"); } diff --git a/Kalliope.Xml/Readers/Core/Constraints/UniquenessConstraintXmlReader.cs b/Kalliope.Xml/Readers/Core/Constraints/UniquenessConstraintXmlReader.cs index b49f83e5..7989f559 100644 --- a/Kalliope.Xml/Readers/Core/Constraints/UniquenessConstraintXmlReader.cs +++ b/Kalliope.Xml/Readers/Core/Constraints/UniquenessConstraintXmlReader.cs @@ -46,8 +46,6 @@ public class UniquenessConstraintXmlReader : SetConstraintXmlReader /// public void ReadXml(UniquenessConstraint uniquenessConstraint, XmlReader reader, List modelThings) { - base.ReadXml(uniquenessConstraint, reader, modelThings); - var isPreferred = reader.GetAttribute("IsPreferred"); if (isPreferred != null) { @@ -60,38 +58,26 @@ public void ReadXml(UniquenessConstraint uniquenessConstraint, XmlReader reader, uniquenessConstraint.IsInternal = XmlConvert.ToBoolean(isInternal); } - using (var constraintSubtree = reader.ReadSubtree()) - { - constraintSubtree.MoveToContent(); - - while (constraintSubtree.Read()) - { - if (constraintSubtree.MoveToContent() == XmlNodeType.Element) - { - var localName = reader.LocalName; + base.ReadXml(uniquenessConstraint, reader, modelThings); + } - switch (localName) - { - case "RoleSequence": - using (var roleSequenceSubtree = constraintSubtree.ReadSubtree()) - { - roleSequenceSubtree.MoveToContent(); - this.ReadRoleSequences(uniquenessConstraint, roleSequenceSubtree, modelThings); - } - break; - case "PreferredIdentifierFor": - var preferredIdentifierFor = reader.GetAttribute("ref"); - if (!string.IsNullOrEmpty(preferredIdentifierFor)) - { - uniquenessConstraint.PreferredIdentifierFor = preferredIdentifierFor; - } - break; - default: - throw new NotSupportedException($"{localName} not yet supported"); - } - } - } - } + /// + /// Reads PreferredIdentifierFor from the .orm file + /// + /// + /// The that contains the s + /// + /// + /// an instance of used to read the .orm file + /// + /// + /// a list of s to which the deserialized items are added + /// + protected override void ReadPreferredIdentifierFor(Constraint constraint, XmlReader reader, + List modelThings) + { + var preferredIdentifierFor = reader.GetAttribute("ref"); + ((UniquenessConstraint)constraint).PreferredIdentifierFor = preferredIdentifierFor; } } } diff --git a/Kalliope.Xml/Resources/ORM2Core.designer.cs b/Kalliope.Xml/Resources/ORM2Core.designer.cs new file mode 100644 index 00000000..42bc8cbd --- /dev/null +++ b/Kalliope.Xml/Resources/ORM2Core.designer.cs @@ -0,0 +1,11203 @@ +// ------------------------------------------------------------------------------ +// +// Generated by Xsd2Code. Version 3.4.1.33667 Microsoft Reciprocal License (Ms-RL) +// Kalliope.XmlListCSharpFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseFalseNet40SerializeDeserializeSaveToFileLoadFromFileFalseFalseFalseFalseFalseFalseDefaultUTF8FalseTrue +// +// ------------------------------------------------------------------------------ +namespace Kalliope.Xml +{ + using System; + using System.Diagnostics; + using System.Xml.Serialization; + using System.Collections; + using System.Xml.Schema; + using System.ComponentModel; + using System.Collections.Generic; + + + public partial class ORMModelType + { + + private DefinitionsType definitionsField; + + private NotesType notesField; + + private List objectsField; + + private List factsField; + + private List constraintsField; + + private List dataTypesField; + + private List functionsField; + + private CustomReferenceModesType customReferenceModesField; + + private ModelNotesType modelNotesField; + + private List modelErrorsField; + + private List referenceModeKindsField; + + private List recognizedPhrasesField; + + private System.Xml.XmlElement extensionsField; + + private string nameField; + + private string idField; + + public ORMModelType() + { + this.recognizedPhrasesField = new List(); + this.referenceModeKindsField = new List(); + this.modelErrorsField = new List(); + this.modelNotesField = new ModelNotesType(); + this.customReferenceModesField = new CustomReferenceModesType(); + this.functionsField = new List(); + this.dataTypesField = new List(); + this.constraintsField = new List(); + this.factsField = new List(); + this.objectsField = new List(); + this.notesField = new NotesType(); + this.definitionsField = new DefinitionsType(); + } + + public DefinitionsType Definitions + { + get + { + return this.definitionsField; + } + set + { + this.definitionsField = value; + } + } + + public NotesType Notes + { + get + { + return this.notesField; + } + set + { + this.notesField = value; + } + } + + [System.Xml.Serialization.XmlArrayItemAttribute("EntityType", typeof(EntityTypeType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("ObjectifiedType", typeof(ObjectifiedTypeType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("ValueType", typeof(ValueTypeType), IsNullable = false)] + public List Objects + { + get + { + return this.objectsField; + } + set + { + this.objectsField = value; + } + } + + [System.Xml.Serialization.XmlArrayItemAttribute("Fact", typeof(FactTypeType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("ImpliedFact", typeof(ImpliedFactTypeType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("SubtypeFact", typeof(SubtypeFactTypeType), IsNullable = false)] + public List Facts + { + get + { + return this.factsField; + } + set + { + this.factsField = value; + } + } + + [System.Xml.Serialization.XmlArrayItemAttribute("EqualityConstraint", typeof(EqualityConstraintType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("ExclusionConstraint", typeof(ExclusionConstraintType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("FrequencyConstraint", typeof(FrequencyConstraintType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("MandatoryConstraint", typeof(MandatoryConstraintType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("RingConstraint", typeof(RingConstraintType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("SubsetConstraint", typeof(SubsetConstraintType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("UniquenessConstraint", typeof(UniquenessConstraintType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("ValueComparisonConstraint", typeof(ValueComparisonConstraintType), IsNullable = false)] + public List Constraints + { + get + { + return this.constraintsField; + } + set + { + this.constraintsField = value; + } + } + + [System.Xml.Serialization.XmlArrayItemAttribute("AutoCounterNumericDataType", typeof(AutoCounterNumericDataTypeType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("AutoTimestampTemporalDataType", typeof(AutoTimestampTemporalDataTypeType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("DateAndTimeTemporalDataType", typeof(DateAndTimeTemporalDataTypeType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("DateTemporalDataType", typeof(DateTemporalDataTypeType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("DecimalNumericDataType", typeof(DecimalNumericDataTypeType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("DoublePrecisionFloatingPointNumericDataType", typeof(DoublePrecisionFloatingPointNumericDataTypeType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("FixedLengthRawDataDataType", typeof(FixedLengthRawDataDataTypeType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("FixedLengthTextDataType", typeof(FixedLengthTextDataTypeType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("FloatingPointNumericDataType", typeof(FloatingPointNumericDataTypeType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("LargeLengthRawDataDataType", typeof(LargeLengthRawDataDataTypeType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("LargeLengthTextDataType", typeof(LargeLengthTextDataTypeType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("MoneyNumericDataType", typeof(MoneyNumericDataTypeType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("ObjectIdOtherDataType", typeof(ObjectIdOtherDataTypeType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("OleObjectRawDataDataType", typeof(OleObjectRawDataDataTypeType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("PictureRawDataDataType", typeof(PictureRawDataDataTypeType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("RowIdOtherDataType", typeof(RowIdOtherDataTypeType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("SignedIntegerNumericDataType", typeof(SignedIntegerNumericDataTypeType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("SignedLargeIntegerNumericDataType", typeof(SignedLargeIntegerNumericDataTypeType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("SignedSmallIntegerNumericDataType", typeof(SignedSmallIntegerNumericDataTypeType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("SinglePrecisionFloatingPointNumericDataType", typeof(SinglePrecisionFloatingPointNumericDataTypeType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("TimeTemporalDataType", typeof(TimeTemporalDataTypeType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("TrueOrFalseLogicalDataType", typeof(TrueOrFalseLogicalDataTypeType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("UUIDNumericDataType", typeof(UUIDNumericDataTypeType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("UnsignedIntegerNumericDataType", typeof(UnsignedIntegerNumericDataTypeType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("UnsignedLargeIntegerNumericDataType", typeof(UnsignedLargeIntegerNumericDataTypeType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("UnsignedSmallIntegerNumericDataType", typeof(UnsignedSmallIntegerNumericDataTypeType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("UnsignedTinyIntegerNumericDataType", typeof(UnsignedTinyIntegerNumericDataTypeType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("UnspecifiedDataType", typeof(UnspecifiedDataTypeType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("VariableLengthRawDataDataType", typeof(VariableLengthRawDataDataTypeType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("VariableLengthTextDataType", typeof(VariableLengthTextDataTypeType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("YesOrNoLogicalDataType", typeof(YesOrNoLogicalDataTypeType), IsNullable = false)] + public List DataTypes + { + get + { + return this.dataTypesField; + } + set + { + this.dataTypesField = value; + } + } + + [System.Xml.Serialization.XmlArrayItemAttribute("Function", IsNullable = false)] + public List Functions + { + get + { + return this.functionsField; + } + set + { + this.functionsField = value; + } + } + + public CustomReferenceModesType CustomReferenceModes + { + get + { + return this.customReferenceModesField; + } + set + { + this.customReferenceModesField = value; + } + } + + public ModelNotesType ModelNotes + { + get + { + return this.modelNotesField; + } + set + { + this.modelNotesField = value; + } + } + + [System.Xml.Serialization.XmlArrayItemAttribute("CalculatedPathValueMustBeConsumedError", typeof(CalculatedPathValueMustBeConsumedErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("CalculatedPathValueParameterBindingError", typeof(CalculatedPathValueParameterBindingErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("CalculatedPathValueRequiresAggregationContextError", typeof(CalculatedPathValueRequiresAggregationContextErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("CalculatedPathValueRequiresFunctionError", typeof(CalculatedPathValueRequiresFunctionErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("CardinalityRangeOverlapError", typeof(CardinalityRangeOverlapErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("CompatibleRolePlayerTypeError", typeof(CompatibleRolePlayerTypeErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("CompatibleSupertypesError", typeof(CompatibleSupertypesErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("CompatibleValueTypeInstanceValueError", typeof(CompatibleValueTypeInstanceValueErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("ConstraintDuplicateNameError", typeof(ConstraintDuplicateNameErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("CorrelatedPathRoleRequiresCompatibleRolePlayerError", typeof(CorrelatedPathRoleRequiresCompatibleRolePlayerErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("DataTypeNotSpecifiedError", typeof(DataTypeNotSpecifiedErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("DerivedFactTypeRoleProjectionCompatibilityError", typeof(DerivedFactTypeRoleProjectionCompatibilityErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("DuplicateReadingSignatureError", typeof(DuplicateReadingSignatureErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("EntityTypeRequiresReferenceSchemeError", typeof(EntityTypeRequiresReferenceSchemeErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("EqualityConstraintImpliedByMandatoryConstraintsError", typeof(EqualityConstraintImpliedByMandatoryConstraintsErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("EqualityImpliedByMandatoryError", typeof(EqualityImpliedByMandatoryErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("ExclusionContradictsEqualityError", typeof(ExclusionContradictsEqualityErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("ExclusionContradictsMandatoryError", typeof(ExclusionContradictsMandatoryErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("ExclusionContradictsSubsetError", typeof(ExclusionContradictsSubsetErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("ExtensionModelError", IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("ExternalConstraintRoleSequenceArityMismatchError", typeof(ExternalConstraintRoleSequenceArityMismatchErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("FactTypeDerivationRequiresProjectionError", typeof(FactTypeDerivationRequiresProjectionErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("FactTypeRequiresInternalUniquenessConstraintError", typeof(FactTypeRequiresInternalUniquenessConstraintErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("FactTypeRequiresReadingError", typeof(FactTypeRequiresReadingErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("FrequencyConstraintContradictsInternalUniquenessConstraintError", typeof(FrequencyConstraintContradictsInternalUniquenessConstraintErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("FrequencyConstraintExactlyOneError", typeof(FrequencyConstraintExactlyOneErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("FrequencyConstraintMinMaxError", typeof(FrequencyConstraintMinMaxErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("FrequencyConstraintNonRestrictiveRangeError", typeof(FrequencyConstraintNonRestrictiveRangeErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("FrequencyConstraintViolatedByUniquenessConstraintError", typeof(FrequencyConstraintViolatedByUniquenessConstraintErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("FunctionDuplicateNameError", typeof(FunctionDuplicateNameErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("GroupDuplicateNameError", typeof(GroupDuplicateNameErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("GroupMembershipContradictionError", typeof(GroupMembershipContradictionErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("ImplicationError", typeof(ImplicationErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("ImpliedInternalUniquenessConstraintError", typeof(ImpliedInternalUniquenessConstraintErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("JoinPathRequiredError", typeof(JoinPathRequiredErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("JoinPathRequiresProjectionError", typeof(JoinPathRequiresProjectionErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("JoinedConstraintRoleProjectionCompatibilityError", typeof(JoinedConstraintRoleProjectionCompatibilityErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("JoinedPathRoleRequiresCompatibleRolePlayerError", typeof(JoinedPathRoleRequiresCompatibleRolePlayerErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("MaxValueMismatchError", typeof(MaxValueMismatchErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("MinValueMismatchError", typeof(MinValueMismatchErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("NMinusOneError", typeof(NMinusOneErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("NotWellModeledSubsetAndMandatoryError", typeof(NotWellModeledSubsetAndMandatoryErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("ObjectTypeDuplicateNameError", typeof(ObjectTypeDuplicateNameErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("ObjectTypeRequiresPrimarySupertypeError", typeof(ObjectTypeRequiresPrimarySupertypeErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("ObjectUnifierRequiresCompatibleObjectTypesError", typeof(ObjectUnifierRequiresCompatibleObjectTypesErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("ObjectifiedInstanceRequiredError", typeof(ObjectifiedInstanceRequiredErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("ObjectifyingInstanceRequiredError", typeof(ObjectifyingInstanceRequiredErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("PartialFactTypeDerivationProjectionError", typeof(PartialFactTypeDerivationProjectionErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("PartialJoinPathProjectionError", typeof(PartialJoinPathProjectionErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("PartialQueryDerivationProjectionError", typeof(PartialQueryDerivationProjectionErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("PathOuterJoinRequiresOptionalRoleError", typeof(PathOuterJoinRequiresOptionalRoleErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("PathRequiresRootObjectTypeError", typeof(PathRequiresRootObjectTypeErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("PathSameFactTypeRoleFollowsJoinError", typeof(PathSameFactTypeRoleFollowsJoinErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("PathStartRoleFollowsRootObjectTypeError", typeof(PathStartRoleFollowsRootObjectTypeErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("PopulationMandatoryError", typeof(PopulationMandatoryErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("PopulationUniquenessError", typeof(PopulationUniquenessErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("PreferredIdentifierRequiresMandatoryError", typeof(PreferredIdentifierRequiresMandatoryErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("QueryDerivationRequiresProjectionError", typeof(QueryDerivationRequiresProjectionErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("QueryRoleProjectionCompatibilityError", typeof(QueryRoleProjectionCompatibilityErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("ReadingRequiresUserModificationError", typeof(ReadingRequiresUserModificationErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("RecognizedPhraseDuplicateNameError", typeof(RecognizedPhraseDuplicateNameErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("RingConstraintTypeNotSpecifiedError", typeof(RingConstraintTypeNotSpecifiedErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("RolePlayerRequiredError", typeof(RolePlayerRequiredErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("SubsetConstraintImpliedByMandatoryConstraintsError", typeof(SubsetConstraintImpliedByMandatoryConstraintsErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("SupersetRoleOfSubtypeSubsetConstraintNotSubtypeError", typeof(SupersetRoleOfSubtypeSubsetConstraintNotSubtypeErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("TooFewEntityTypeRoleInstancesError", typeof(TooFewEntityTypeRoleInstancesErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("TooFewFactTypeRoleInstancesError", typeof(TooFewFactTypeRoleInstancesErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("TooFewReadingRolesError", typeof(TooFewReadingRolesErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("TooFewRoleSequencesError", typeof(TooFewRoleSequencesErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("TooManyReadingRolesError", typeof(TooManyReadingRolesErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("TooManyRoleSequencesError", typeof(TooManyRoleSequencesErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("ValueComparisonConstraintOperatorNotSpecifiedError", typeof(ValueComparisonConstraintOperatorNotSpecifiedErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("ValueComparisonRolesNotComparableError", typeof(ValueComparisonRolesNotComparableErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("ValueRangeOverlapError", typeof(ValueRangeOverlapErrorType), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("ValueTypeDetachedError", typeof(ValueTypeDetachedErrorType), IsNullable = false)] + public List ModelErrors + { + get + { + return this.modelErrorsField; + } + set + { + this.modelErrorsField = value; + } + } + + [System.Xml.Serialization.XmlArrayItemAttribute("ReferenceModeKind", IsNullable = false)] + public List ReferenceModeKinds + { + get + { + return this.referenceModeKindsField; + } + set + { + this.referenceModeKindsField = value; + } + } + + [System.Xml.Serialization.XmlArrayItemAttribute("RecognizedPhrase", IsNullable = false)] + public List RecognizedPhrases + { + get + { + return this.recognizedPhrasesField; + } + set + { + this.recognizedPhrasesField = value; + } + } + + public System.Xml.XmlElement Extensions + { + get + { + return this.extensionsField; + } + set + { + this.extensionsField = value; + } + } + + public string Name + { + get + { + return this.nameField; + } + set + { + this.nameField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + } + + public partial class DefinitionsType + { + + private DefinitionType definitionField; + + public DefinitionsType() + { + this.definitionField = new DefinitionType(); + } + + public DefinitionType Definition + { + get + { + return this.definitionField; + } + set + { + this.definitionField = value; + } + } + } + + public partial class DefinitionType + { + + private string textField; + + private string idField; + + public string Text + { + get + { + return this.textField; + } + set + { + this.textField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + } + + public partial class RecognizedPhraseType + { + + private AliasesType abbreviationsField; + + private string nameField; + + private string idField; + + public RecognizedPhraseType() + { + this.abbreviationsField = new AliasesType(); + } + + public AliasesType Abbreviations + { + get + { + return this.abbreviationsField; + } + set + { + this.abbreviationsField = value; + } + } + + public string Name + { + get + { + return this.nameField; + } + set + { + this.nameField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + } + + public partial class AliasesType + { + + private List aliasField; + + public AliasesType() + { + this.aliasField = new List(); + } + + public List Alias + { + get + { + return this.aliasField; + } + set + { + this.aliasField = value; + } + } + } + + public partial class AliasType + { + + private RefinedInstanceType refinedInstanceField; + + private string idField; + + private string nameField; + + private string nameConsumerField; + + private string nameUsageField; + + public AliasType() + { + this.refinedInstanceField = new RefinedInstanceType(); + } + + public RefinedInstanceType RefinedInstance + { + get + { + return this.refinedInstanceField; + } + set + { + this.refinedInstanceField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + + public string Name + { + get + { + return this.nameField; + } + set + { + this.nameField = value; + } + } + + public string NameConsumer + { + get + { + return this.nameConsumerField; + } + set + { + this.nameConsumerField = value; + } + } + + public string NameUsage + { + get + { + return this.nameUsageField; + } + set + { + this.nameUsageField = value; + } + } + } + + public partial class RefinedInstanceType + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class ReferenceModeKindType + { + + private string idField; + + private string formatStringField; + + private ReferenceModeKindValues referenceModeTypeField; + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + + public string FormatString + { + get + { + return this.formatStringField; + } + set + { + this.formatStringField = value; + } + } + + public ReferenceModeKindValues ReferenceModeType + { + get + { + return this.referenceModeTypeField; + } + set + { + this.referenceModeTypeField = value; + } + } + } + + public enum ReferenceModeKindValues + { + + /// + General, + + /// + Popular, + + /// + UnitBased, + } + + public partial class ElementRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class GroupRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class ConstraintRoleProjectionRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class DerivedRoleProjectionRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class JoinPathProjectionRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class ConstraintRoleSequenceJoinPathRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class FactTypeDerivationProjectionRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class QueryDerivationPathRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class FactTypeDerivationPathRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class ObjectUnifierRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class RoleSubPathRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class EntityTypeSubtypeInstanceRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class ObjectTypeInstanceRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class ValueTypeInstanceRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class EqualityConstraintRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class ConstraintRoleSequenceRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class SubsetConstraintRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class ValueComparisonConstraintRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class RingConstraintRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class ValueRangeRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class FrequencyConstraintRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class DataTypeUseRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class ReadingRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class RecognizedPhraseRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class CardinalityConstraintRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class ValueConstraintRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + [System.Xml.Serialization.XmlIncludeAttribute(typeof(GroupMembershipContradictionErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(GroupDuplicateNameErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(JoinedConstraintRoleProjectionCompatibilityErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(QueryRoleProjectionCompatibilityErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(DerivedFactTypeRoleProjectionCompatibilityErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(PartialJoinPathProjectionErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(JoinPathRequiresProjectionErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(PartialQueryDerivationProjectionErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(PartialFactTypeDerivationProjectionErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(QueryDerivationRequiresProjectionErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(FactTypeDerivationRequiresProjectionErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(CalculatedPathValueParameterBindingErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(CalculatedPathValueMustBeConsumedErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(CalculatedPathValueRequiresAggregationContextErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(CalculatedPathValueRequiresFunctionErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(PathOuterJoinRequiresOptionalRoleErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(PathSameFactTypeRoleFollowsJoinErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ObjectUnifierRequiresCompatibleObjectTypesErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(CorrelatedPathRoleRequiresCompatibleRolePlayerErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(JoinedPathRoleRequiresCompatibleRolePlayerErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(PathStartRoleFollowsRootObjectTypeErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(PathRequiresRootObjectTypeErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ObjectifiedInstanceRequiredErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ObjectifyingInstanceRequiredErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(PopulationUniquenessErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(PopulationMandatoryErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(CompatibleValueTypeInstanceValueErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(NMinusOneErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(EqualityImpliedByMandatoryErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(RolePlayerRequiredErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(JoinPathRequiredErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(SupersetRoleOfSubtypeSubsetConstraintNotSubtypeErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(CompatibleRolePlayerTypeErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(TooManyRoleSequencesErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ExclusionContradictsEqualityErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ExclusionContradictsSubsetErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(EqualityConstraintImpliedByMandatoryConstraintsErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(SubsetConstraintImpliedByMandatoryConstraintsErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(NotWellModeledSubsetAndMandatoryErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ExclusionContradictsMandatoryErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ImplicationErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ValueComparisonRolesNotComparableErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ValueComparisonConstraintOperatorNotSpecifiedErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(RingConstraintTypeNotSpecifiedErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(CompatibleSupertypesErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(PreferredIdentifierRequiresMandatoryErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ObjectTypeRequiresPrimarySupertypeErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ImpliedInternalUniquenessConstraintErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ValueTypeDetachedErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(CardinalityRangeOverlapErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ValueRangeOverlapErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(MinValueMismatchErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(MaxValueMismatchErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(FrequencyConstraintViolatedByUniquenessConstraintErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(FrequencyConstraintContradictsInternalUniquenessConstraintErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(FrequencyConstraintNonRestrictiveRangeErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(FrequencyConstraintExactlyOneErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(FrequencyConstraintMinMaxErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(DataTypeNotSpecifiedErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(TooManyReadingRolesErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(TooFewFactTypeRoleInstancesErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(TooFewEntityTypeRoleInstancesErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(TooFewRoleSequencesErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ReadingRequiresUserModificationErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(TooFewReadingRolesErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(FactTypeRequiresReadingErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(FactTypeRequiresInternalUniquenessConstraintErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ExternalConstraintRoleSequenceArityMismatchErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(EntityTypeRequiresReferenceSchemeErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(DuplicateReadingSignatureErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(FunctionDuplicateNameErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(RecognizedPhraseDuplicateNameErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ObjectTypeDuplicateNameErrorType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ConstraintDuplicateNameErrorType))] + public abstract partial class ModelError + { + + private string idField; + + private string nameField; + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + + public string Name + { + get + { + return this.nameField; + } + set + { + this.nameField = value; + } + } + } + + public partial class GroupMembershipContradictionErrorType : ModelError + { + + private GroupMembershipContradictionErrorTypeGroup groupField; + + public GroupMembershipContradictionErrorType() + { + this.groupField = new GroupMembershipContradictionErrorTypeGroup(); + } + + public GroupMembershipContradictionErrorTypeGroup Group + { + get + { + return this.groupField; + } + set + { + this.groupField = value; + } + } + } + + public partial class GroupMembershipContradictionErrorTypeGroup : GroupRef + { + + private ElementRef elementField; + + private string idField; + + public GroupMembershipContradictionErrorTypeGroup() + { + this.elementField = new ElementRef(); + } + + public ElementRef Element + { + get + { + return this.elementField; + } + set + { + this.elementField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + } + + public partial class GroupDuplicateNameErrorType : ModelError + { + + private GroupDuplicateNameErrorTypeGroups groupsField; + + public GroupDuplicateNameErrorType() + { + this.groupsField = new GroupDuplicateNameErrorTypeGroups(); + } + + public GroupDuplicateNameErrorTypeGroups Groups + { + get + { + return this.groupsField; + } + set + { + this.groupsField = value; + } + } + } + + public partial class GroupDuplicateNameErrorTypeGroups + { + + private List groupField; + + public GroupDuplicateNameErrorTypeGroups() + { + this.groupField = new List(); + } + + public List Group + { + get + { + return this.groupField; + } + set + { + this.groupField = value; + } + } + } + + public partial class JoinedConstraintRoleProjectionCompatibilityErrorType : ModelError + { + + private ConstraintRoleProjectionRef constraintRoleProjectionField; + + public JoinedConstraintRoleProjectionCompatibilityErrorType() + { + this.constraintRoleProjectionField = new ConstraintRoleProjectionRef(); + } + + public ConstraintRoleProjectionRef ConstraintRoleProjection + { + get + { + return this.constraintRoleProjectionField; + } + set + { + this.constraintRoleProjectionField = value; + } + } + } + + public partial class QueryRoleProjectionCompatibilityErrorType : ModelError + { + + private DerivedRoleProjectionRef derivedRoleProjectionField; + + public QueryRoleProjectionCompatibilityErrorType() + { + this.derivedRoleProjectionField = new DerivedRoleProjectionRef(); + } + + public DerivedRoleProjectionRef DerivedRoleProjection + { + get + { + return this.derivedRoleProjectionField; + } + set + { + this.derivedRoleProjectionField = value; + } + } + } + + public partial class DerivedFactTypeRoleProjectionCompatibilityErrorType : ModelError + { + + private DerivedRoleProjectionRef derivedRoleProjectionField; + + public DerivedFactTypeRoleProjectionCompatibilityErrorType() + { + this.derivedRoleProjectionField = new DerivedRoleProjectionRef(); + } + + public DerivedRoleProjectionRef DerivedRoleProjection + { + get + { + return this.derivedRoleProjectionField; + } + set + { + this.derivedRoleProjectionField = value; + } + } + } + + public partial class PartialJoinPathProjectionErrorType : ModelError + { + + private JoinPathProjectionRef joinPathProjectionField; + + public PartialJoinPathProjectionErrorType() + { + this.joinPathProjectionField = new JoinPathProjectionRef(); + } + + public JoinPathProjectionRef JoinPathProjection + { + get + { + return this.joinPathProjectionField; + } + set + { + this.joinPathProjectionField = value; + } + } + } + + public partial class JoinPathRequiresProjectionErrorType : ModelError + { + + private ConstraintRoleSequenceJoinPathRef joinPathField; + + public JoinPathRequiresProjectionErrorType() + { + this.joinPathField = new ConstraintRoleSequenceJoinPathRef(); + } + + public ConstraintRoleSequenceJoinPathRef JoinPath + { + get + { + return this.joinPathField; + } + set + { + this.joinPathField = value; + } + } + } + + public partial class PartialQueryDerivationProjectionErrorType : ModelError + { + + private FactTypeDerivationProjectionRef derivationProjectionField; + + public PartialQueryDerivationProjectionErrorType() + { + this.derivationProjectionField = new FactTypeDerivationProjectionRef(); + } + + public FactTypeDerivationProjectionRef DerivationProjection + { + get + { + return this.derivationProjectionField; + } + set + { + this.derivationProjectionField = value; + } + } + } + + public partial class PartialFactTypeDerivationProjectionErrorType : ModelError + { + + private FactTypeDerivationProjectionRef derivationProjectionField; + + public PartialFactTypeDerivationProjectionErrorType() + { + this.derivationProjectionField = new FactTypeDerivationProjectionRef(); + } + + public FactTypeDerivationProjectionRef DerivationProjection + { + get + { + return this.derivationProjectionField; + } + set + { + this.derivationProjectionField = value; + } + } + } + + public partial class QueryDerivationRequiresProjectionErrorType : ModelError + { + + private QueryDerivationPathRef queryDerivationPathField; + + public QueryDerivationRequiresProjectionErrorType() + { + this.queryDerivationPathField = new QueryDerivationPathRef(); + } + + public QueryDerivationPathRef QueryDerivationPath + { + get + { + return this.queryDerivationPathField; + } + set + { + this.queryDerivationPathField = value; + } + } + } + + public partial class FactTypeDerivationRequiresProjectionErrorType : ModelError + { + + private FactTypeDerivationPathRef factTypeDerivationPathField; + + public FactTypeDerivationRequiresProjectionErrorType() + { + this.factTypeDerivationPathField = new FactTypeDerivationPathRef(); + } + + public FactTypeDerivationPathRef FactTypeDerivationPath + { + get + { + return this.factTypeDerivationPathField; + } + set + { + this.factTypeDerivationPathField = value; + } + } + } + + public partial class CalculatedPathValueParameterBindingErrorType : ModelError + { + + private CalculatedPathValueParameterBindingErrorTypeCalculatedValue calculatedValueField; + + public CalculatedPathValueParameterBindingErrorType() + { + this.calculatedValueField = new CalculatedPathValueParameterBindingErrorTypeCalculatedValue(); + } + + public CalculatedPathValueParameterBindingErrorTypeCalculatedValue CalculatedValue + { + get + { + return this.calculatedValueField; + } + set + { + this.calculatedValueField = value; + } + } + } + + public partial class CalculatedPathValueParameterBindingErrorTypeCalculatedValue : CalculatedValueRef + { + + private FunctionParameterRef parameterField; + + private string idField; + + public CalculatedPathValueParameterBindingErrorTypeCalculatedValue() + { + this.parameterField = new FunctionParameterRef(); + } + + public FunctionParameterRef Parameter + { + get + { + return this.parameterField; + } + set + { + this.parameterField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + } + + public partial class FunctionParameterRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class CalculatedValueRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class CalculatedPathValueMustBeConsumedErrorType : ModelError + { + + private CalculatedValueRef calculatedValueField; + + public CalculatedPathValueMustBeConsumedErrorType() + { + this.calculatedValueField = new CalculatedValueRef(); + } + + public CalculatedValueRef CalculatedValue + { + get + { + return this.calculatedValueField; + } + set + { + this.calculatedValueField = value; + } + } + } + + public partial class CalculatedPathValueRequiresAggregationContextErrorType : ModelError + { + + private CalculatedValueRef calculatedValueField; + + public CalculatedPathValueRequiresAggregationContextErrorType() + { + this.calculatedValueField = new CalculatedValueRef(); + } + + public CalculatedValueRef CalculatedValue + { + get + { + return this.calculatedValueField; + } + set + { + this.calculatedValueField = value; + } + } + } + + public partial class CalculatedPathValueRequiresFunctionErrorType : ModelError + { + + private CalculatedValueRef calculatedValueField; + + public CalculatedPathValueRequiresFunctionErrorType() + { + this.calculatedValueField = new CalculatedValueRef(); + } + + public CalculatedValueRef CalculatedValue + { + get + { + return this.calculatedValueField; + } + set + { + this.calculatedValueField = value; + } + } + } + + public partial class PathOuterJoinRequiresOptionalRoleErrorType : ModelError + { + + private PathedRoleRef pathedRoleField; + + public PathOuterJoinRequiresOptionalRoleErrorType() + { + this.pathedRoleField = new PathedRoleRef(); + } + + public PathedRoleRef PathedRole + { + get + { + return this.pathedRoleField; + } + set + { + this.pathedRoleField = value; + } + } + } + + public partial class PathedRoleRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class PathSameFactTypeRoleFollowsJoinErrorType : ModelError + { + + private PathedRoleRef pathedRoleField; + + public PathSameFactTypeRoleFollowsJoinErrorType() + { + this.pathedRoleField = new PathedRoleRef(); + } + + public PathedRoleRef PathedRole + { + get + { + return this.pathedRoleField; + } + set + { + this.pathedRoleField = value; + } + } + } + + public partial class ObjectUnifierRequiresCompatibleObjectTypesErrorType : ModelError + { + + private ObjectUnifierRef objectUnifierField; + + public ObjectUnifierRequiresCompatibleObjectTypesErrorType() + { + this.objectUnifierField = new ObjectUnifierRef(); + } + + public ObjectUnifierRef ObjectUnifier + { + get + { + return this.objectUnifierField; + } + set + { + this.objectUnifierField = value; + } + } + } + + public partial class CorrelatedPathRoleRequiresCompatibleRolePlayerErrorType : ModelError + { + + private PathedRoleRef pathedRoleField; + + public CorrelatedPathRoleRequiresCompatibleRolePlayerErrorType() + { + this.pathedRoleField = new PathedRoleRef(); + } + + public PathedRoleRef PathedRole + { + get + { + return this.pathedRoleField; + } + set + { + this.pathedRoleField = value; + } + } + } + + public partial class JoinedPathRoleRequiresCompatibleRolePlayerErrorType : ModelError + { + + private PathedRoleRef pathedRoleField; + + public JoinedPathRoleRequiresCompatibleRolePlayerErrorType() + { + this.pathedRoleField = new PathedRoleRef(); + } + + public PathedRoleRef PathedRole + { + get + { + return this.pathedRoleField; + } + set + { + this.pathedRoleField = value; + } + } + } + + public partial class PathStartRoleFollowsRootObjectTypeErrorType : ModelError + { + + private PathedRoleRef pathedRoleField; + + public PathStartRoleFollowsRootObjectTypeErrorType() + { + this.pathedRoleField = new PathedRoleRef(); + } + + public PathedRoleRef PathedRole + { + get + { + return this.pathedRoleField; + } + set + { + this.pathedRoleField = value; + } + } + } + + public partial class PathRequiresRootObjectTypeErrorType : ModelError + { + + private object itemField; + + public object Item + { + get + { + return this.itemField; + } + set + { + this.itemField = value; + } + } + } + + public partial class LeadRolePathRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class ObjectifiedInstanceRequiredErrorType : ModelError + { + + private object itemField; + + public object Item + { + get + { + return this.itemField; + } + set + { + this.itemField = value; + } + } + } + + public partial class EntityTypeInstanceRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class ObjectifyingInstanceRequiredErrorType : ModelError + { + + private FactTypeInstanceRef itemField; + + public ObjectifyingInstanceRequiredErrorType() + { + this.itemField = new FactTypeInstanceRef(); + } + + public FactTypeInstanceRef Item + { + get + { + return this.itemField; + } + set + { + this.itemField = value; + } + } + } + + public partial class FactTypeInstanceRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class PopulationUniquenessErrorType : ModelError + { + + private PopulationUniquenessErrorTypeRoleInstances roleInstancesField; + + public PopulationUniquenessErrorType() + { + this.roleInstancesField = new PopulationUniquenessErrorTypeRoleInstances(); + } + + public PopulationUniquenessErrorTypeRoleInstances RoleInstances + { + get + { + return this.roleInstancesField; + } + set + { + this.roleInstancesField = value; + } + } + } + + public partial class PopulationUniquenessErrorTypeRoleInstances + { + + private List itemsField; + + private List itemsElementNameField; + + public PopulationUniquenessErrorTypeRoleInstances() + { + this.itemsElementNameField = new List(); + this.itemsField = new List(); + } + + [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")] + public List Items + { + get + { + return this.itemsField; + } + set + { + this.itemsField = value; + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + public List ItemsElementName + { + get + { + return this.itemsElementNameField; + } + set + { + this.itemsElementNameField = value; + } + } + } + + public partial class ObjectTypeRoleInstanceRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public enum ItemsChoiceType4 + { + + /// + EntityTypeRoleInstance, + + /// + FactTypeRoleInstance, + } + + public partial class PopulationMandatoryErrorType : ModelError + { + + private ObjectTypeInstanceRef objectTypeInstanceField; + + private MandatoryConstraintRef mandatoryConstraintField; + + public PopulationMandatoryErrorType() + { + this.mandatoryConstraintField = new MandatoryConstraintRef(); + this.objectTypeInstanceField = new ObjectTypeInstanceRef(); + } + + public ObjectTypeInstanceRef ObjectTypeInstance + { + get + { + return this.objectTypeInstanceField; + } + set + { + this.objectTypeInstanceField = value; + } + } + + public MandatoryConstraintRef MandatoryConstraint + { + get + { + return this.mandatoryConstraintField; + } + set + { + this.mandatoryConstraintField = value; + } + } + } + + public partial class MandatoryConstraintRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class CompatibleValueTypeInstanceValueErrorType : ModelError + { + + private ValueTypeInstanceRef valueTypeInstanceField; + + public CompatibleValueTypeInstanceValueErrorType() + { + this.valueTypeInstanceField = new ValueTypeInstanceRef(); + } + + public ValueTypeInstanceRef ValueTypeInstance + { + get + { + return this.valueTypeInstanceField; + } + set + { + this.valueTypeInstanceField = value; + } + } + } + + public partial class NMinusOneErrorType : ModelError + { + + private UniquenessConstraintRef uniquenessConstraintField; + + public NMinusOneErrorType() + { + this.uniquenessConstraintField = new UniquenessConstraintRef(); + } + + public UniquenessConstraintRef UniquenessConstraint + { + get + { + return this.uniquenessConstraintField; + } + set + { + this.uniquenessConstraintField = value; + } + } + } + + public partial class UniquenessConstraintRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class EqualityImpliedByMandatoryErrorType : ModelError + { + + private EqualityConstraintRef itemField; + + public EqualityImpliedByMandatoryErrorType() + { + this.itemField = new EqualityConstraintRef(); + } + + public EqualityConstraintRef Item + { + get + { + return this.itemField; + } + set + { + this.itemField = value; + } + } + } + + public partial class RolePlayerRequiredErrorType : ModelError + { + + private RoleRef itemField; + + public RolePlayerRequiredErrorType() + { + this.itemField = new RoleRef(); + } + + public RoleRef Item + { + get + { + return this.itemField; + } + set + { + this.itemField = value; + } + } + } + + [System.Xml.Serialization.XmlIncludeAttribute(typeof(RoleSequenceRoleRef))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(RoleSequenceWithProjectionRoleRef))] + public partial class RoleRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + [System.Xml.Serialization.XmlIncludeAttribute(typeof(RoleSequenceWithProjectionRoleRef))] + public partial class RoleSequenceRoleRef : RoleRef + { + + private string idField; + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + } + + public partial class RoleSequenceWithProjectionRoleRef : RoleSequenceRoleRef + { + + private RoleSequenceWithProjectionRoleRefProjectedFrom projectedFromField; + + public RoleSequenceWithProjectionRoleRef() + { + this.projectedFromField = new RoleSequenceWithProjectionRoleRefProjectedFrom(); + } + + public RoleSequenceWithProjectionRoleRefProjectedFrom ProjectedFrom + { + get + { + return this.projectedFromField; + } + set + { + this.projectedFromField = value; + } + } + } + + public partial class RoleSequenceWithProjectionRoleRefProjectedFrom + { + + private object itemField; + + public object Item + { + get + { + return this.itemField; + } + set + { + this.itemField = value; + } + } + } + + public partial class PathConstantType + { + + private string valueField; + + private string idField; + + public string Value + { + get + { + return this.valueField; + } + set + { + this.valueField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + } + + public partial class JoinPathRequiredErrorType : ModelError + { + + private ConstraintRoleSequenceRef itemField; + + public JoinPathRequiredErrorType() + { + this.itemField = new ConstraintRoleSequenceRef(); + } + + public ConstraintRoleSequenceRef Item + { + get + { + return this.itemField; + } + set + { + this.itemField = value; + } + } + } + + public partial class SupersetRoleOfSubtypeSubsetConstraintNotSubtypeErrorType : ModelError + { + + private SubsetConstraintRef subsetConstraintField; + + public SupersetRoleOfSubtypeSubsetConstraintNotSubtypeErrorType() + { + this.subsetConstraintField = new SubsetConstraintRef(); + } + + public SubsetConstraintRef SubsetConstraint + { + get + { + return this.subsetConstraintField; + } + set + { + this.subsetConstraintField = value; + } + } + } + + public partial class CompatibleRolePlayerTypeErrorType : ModelError + { + + private object itemField; + + private int columnField; + + private bool columnFieldSpecified; + + public object Item + { + get + { + return this.itemField; + } + set + { + this.itemField = value; + } + } + + public int Column + { + get + { + return this.columnField; + } + set + { + this.columnField = value; + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ColumnSpecified + { + get + { + return this.columnFieldSpecified; + } + set + { + this.columnFieldSpecified = value; + } + } + } + + public partial class SetComparisonConstraintRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class SetConstraintRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class TooManyRoleSequencesErrorType : ModelError + { + + private object itemField; + + public object Item + { + get + { + return this.itemField; + } + set + { + this.itemField = value; + } + } + } + + public partial class ExclusionContradictsEqualityErrorType : ModelError + { + + private ExclusionContradictsEqualityErrorTypeConstraints constraintsField; + + public ExclusionContradictsEqualityErrorType() + { + this.constraintsField = new ExclusionContradictsEqualityErrorTypeConstraints(); + } + + public ExclusionContradictsEqualityErrorTypeConstraints Constraints + { + get + { + return this.constraintsField; + } + set + { + this.constraintsField = value; + } + } + } + + public partial class ExclusionContradictsEqualityErrorTypeConstraints + { + + private List itemsField; + + private List itemsElementNameField; + + public ExclusionContradictsEqualityErrorTypeConstraints() + { + this.itemsElementNameField = new List(); + this.itemsField = new List(); + } + + [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")] + public List Items + { + get + { + return this.itemsField; + } + set + { + this.itemsField = value; + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + public List ItemsElementName + { + get + { + return this.itemsElementNameField; + } + set + { + this.itemsElementNameField = value; + } + } + } + + public enum ItemsChoiceType3 + { + + /// + EqualityConstraint, + + /// + ExclusionConstraintThatContradictsWithEquality, + } + + public partial class ExclusionContradictsSubsetErrorType : ModelError + { + + private ExclusionContradictsSubsetErrorTypeConstraints constraintsField; + + public ExclusionContradictsSubsetErrorType() + { + this.constraintsField = new ExclusionContradictsSubsetErrorTypeConstraints(); + } + + public ExclusionContradictsSubsetErrorTypeConstraints Constraints + { + get + { + return this.constraintsField; + } + set + { + this.constraintsField = value; + } + } + } + + public partial class ExclusionContradictsSubsetErrorTypeConstraints + { + + private List itemsField; + + private List itemsElementNameField; + + public ExclusionContradictsSubsetErrorTypeConstraints() + { + this.itemsElementNameField = new List(); + this.itemsField = new List(); + } + + [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")] + public List Items + { + get + { + return this.itemsField; + } + set + { + this.itemsField = value; + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + public List ItemsElementName + { + get + { + return this.itemsElementNameField; + } + set + { + this.itemsElementNameField = value; + } + } + } + + public enum ItemsChoiceType2 + { + + /// + ExclusionConstraintThatContradictsWithSubset, + + /// + SubsetConstraint, + } + + public partial class EqualityConstraintImpliedByMandatoryConstraintsErrorType : ModelError + { + + private SetComparisonConstraintRef equalityConstraintField; + + public EqualityConstraintImpliedByMandatoryConstraintsErrorType() + { + this.equalityConstraintField = new SetComparisonConstraintRef(); + } + + public SetComparisonConstraintRef EqualityConstraint + { + get + { + return this.equalityConstraintField; + } + set + { + this.equalityConstraintField = value; + } + } + } + + public partial class SubsetConstraintImpliedByMandatoryConstraintsErrorType : ModelError + { + + private SetComparisonConstraintRef subsetConstraintField; + + public SubsetConstraintImpliedByMandatoryConstraintsErrorType() + { + this.subsetConstraintField = new SetComparisonConstraintRef(); + } + + public SetComparisonConstraintRef SubsetConstraint + { + get + { + return this.subsetConstraintField; + } + set + { + this.subsetConstraintField = value; + } + } + } + + public partial class NotWellModeledSubsetAndMandatoryErrorType : ModelError + { + + private NotWellModeledSubsetAndMandatoryErrorTypeConstraints constraintsField; + + public NotWellModeledSubsetAndMandatoryErrorType() + { + this.constraintsField = new NotWellModeledSubsetAndMandatoryErrorTypeConstraints(); + } + + public NotWellModeledSubsetAndMandatoryErrorTypeConstraints Constraints + { + get + { + return this.constraintsField; + } + set + { + this.constraintsField = value; + } + } + } + + public partial class NotWellModeledSubsetAndMandatoryErrorTypeConstraints + { + + private MandatoryConstraintRef mandatoryConstraintField; + + private SetComparisonConstraintRef subsetConstraintField; + + public NotWellModeledSubsetAndMandatoryErrorTypeConstraints() + { + this.subsetConstraintField = new SetComparisonConstraintRef(); + this.mandatoryConstraintField = new MandatoryConstraintRef(); + } + + public MandatoryConstraintRef MandatoryConstraint + { + get + { + return this.mandatoryConstraintField; + } + set + { + this.mandatoryConstraintField = value; + } + } + + public SetComparisonConstraintRef SubsetConstraint + { + get + { + return this.subsetConstraintField; + } + set + { + this.subsetConstraintField = value; + } + } + } + + public partial class ExclusionContradictsMandatoryErrorType : ModelError + { + + private List constraintsField; + + public ExclusionContradictsMandatoryErrorType() + { + this.constraintsField = new List(); + } + + [System.Xml.Serialization.XmlArrayItemAttribute("ExclusionConstraint", typeof(SetComparisonConstraintRef), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("MandatoryConstraint", typeof(MandatoryConstraintRef), IsNullable = false)] + public List Constraints + { + get + { + return this.constraintsField; + } + set + { + this.constraintsField = value; + } + } + } + + public partial class ImplicationErrorType : ModelError + { + + private object itemField; + + public object Item + { + get + { + return this.itemField; + } + set + { + this.itemField = value; + } + } + } + + public partial class ValueComparisonRolesNotComparableErrorType : ModelError + { + + private ValueComparisonConstraintRef valueComparisonConstraintField; + + public ValueComparisonRolesNotComparableErrorType() + { + this.valueComparisonConstraintField = new ValueComparisonConstraintRef(); + } + + public ValueComparisonConstraintRef ValueComparisonConstraint + { + get + { + return this.valueComparisonConstraintField; + } + set + { + this.valueComparisonConstraintField = value; + } + } + } + + public partial class ValueComparisonConstraintOperatorNotSpecifiedErrorType : ModelError + { + + private ValueComparisonConstraintRef valueComparisonConstraintField; + + public ValueComparisonConstraintOperatorNotSpecifiedErrorType() + { + this.valueComparisonConstraintField = new ValueComparisonConstraintRef(); + } + + public ValueComparisonConstraintRef ValueComparisonConstraint + { + get + { + return this.valueComparisonConstraintField; + } + set + { + this.valueComparisonConstraintField = value; + } + } + } + + public partial class RingConstraintTypeNotSpecifiedErrorType : ModelError + { + + private RingConstraintRef ringConstraintField; + + public RingConstraintTypeNotSpecifiedErrorType() + { + this.ringConstraintField = new RingConstraintRef(); + } + + public RingConstraintRef RingConstraint + { + get + { + return this.ringConstraintField; + } + set + { + this.ringConstraintField = value; + } + } + } + + public partial class CompatibleSupertypesErrorType : ModelError + { + + private ObjectTypeRef objectTypeField; + + public CompatibleSupertypesErrorType() + { + this.objectTypeField = new ObjectTypeRef(); + } + + public ObjectTypeRef ObjectType + { + get + { + return this.objectTypeField; + } + set + { + this.objectTypeField = value; + } + } + } + + public partial class ObjectTypeRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class PreferredIdentifierRequiresMandatoryErrorType : ModelError + { + + private ObjectTypeRef objectTypeField; + + public PreferredIdentifierRequiresMandatoryErrorType() + { + this.objectTypeField = new ObjectTypeRef(); + } + + public ObjectTypeRef ObjectType + { + get + { + return this.objectTypeField; + } + set + { + this.objectTypeField = value; + } + } + } + + public partial class ObjectTypeRequiresPrimarySupertypeErrorType : ModelError + { + + private ObjectTypeRef objectTypeField; + + public ObjectTypeRequiresPrimarySupertypeErrorType() + { + this.objectTypeField = new ObjectTypeRef(); + } + + public ObjectTypeRef ObjectType + { + get + { + return this.objectTypeField; + } + set + { + this.objectTypeField = value; + } + } + } + + public partial class ImpliedInternalUniquenessConstraintErrorType : ModelError + { + + private FactTypeRef factField; + + public ImpliedInternalUniquenessConstraintErrorType() + { + this.factField = new FactTypeRef(); + } + + public FactTypeRef Fact + { + get + { + return this.factField; + } + set + { + this.factField = value; + } + } + } + + public partial class FactTypeRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class ValueTypeDetachedErrorType : ModelError + { + + private ValueConstraintRef valueConstraintField; + + public ValueTypeDetachedErrorType() + { + this.valueConstraintField = new ValueConstraintRef(); + } + + public ValueConstraintRef ValueConstraint + { + get + { + return this.valueConstraintField; + } + set + { + this.valueConstraintField = value; + } + } + } + + public partial class CardinalityRangeOverlapErrorType : ModelError + { + + private CardinalityConstraintRef cardinalityConstraintField; + + public CardinalityRangeOverlapErrorType() + { + this.cardinalityConstraintField = new CardinalityConstraintRef(); + } + + public CardinalityConstraintRef CardinalityConstraint + { + get + { + return this.cardinalityConstraintField; + } + set + { + this.cardinalityConstraintField = value; + } + } + } + + public partial class ValueRangeOverlapErrorType : ModelError + { + + private ValueConstraintRef valueConstraintField; + + public ValueRangeOverlapErrorType() + { + this.valueConstraintField = new ValueConstraintRef(); + } + + public ValueConstraintRef ValueConstraint + { + get + { + return this.valueConstraintField; + } + set + { + this.valueConstraintField = value; + } + } + } + + public partial class MinValueMismatchErrorType : ModelError + { + + private ValueRangeRef valueRangeField; + + public MinValueMismatchErrorType() + { + this.valueRangeField = new ValueRangeRef(); + } + + public ValueRangeRef ValueRange + { + get + { + return this.valueRangeField; + } + set + { + this.valueRangeField = value; + } + } + } + + public partial class MaxValueMismatchErrorType : ModelError + { + + private ValueRangeRef valueRangeField; + + public MaxValueMismatchErrorType() + { + this.valueRangeField = new ValueRangeRef(); + } + + public ValueRangeRef ValueRange + { + get + { + return this.valueRangeField; + } + set + { + this.valueRangeField = value; + } + } + } + + public partial class FrequencyConstraintViolatedByUniquenessConstraintErrorType : ModelError + { + + private FrequencyConstraintRef frequencyConstraintField; + + public FrequencyConstraintViolatedByUniquenessConstraintErrorType() + { + this.frequencyConstraintField = new FrequencyConstraintRef(); + } + + public FrequencyConstraintRef FrequencyConstraint + { + get + { + return this.frequencyConstraintField; + } + set + { + this.frequencyConstraintField = value; + } + } + } + + public partial class FrequencyConstraintContradictsInternalUniquenessConstraintErrorType : ModelError + { + + private FrequencyConstraintRef frequencyConstraintField; + + private FactTypeRef factField; + + public FrequencyConstraintContradictsInternalUniquenessConstraintErrorType() + { + this.factField = new FactTypeRef(); + this.frequencyConstraintField = new FrequencyConstraintRef(); + } + + public FrequencyConstraintRef FrequencyConstraint + { + get + { + return this.frequencyConstraintField; + } + set + { + this.frequencyConstraintField = value; + } + } + + public FactTypeRef Fact + { + get + { + return this.factField; + } + set + { + this.factField = value; + } + } + } + + public partial class FrequencyConstraintNonRestrictiveRangeErrorType : ModelError + { + + private FrequencyConstraintRef frequencyConstraintField; + + public FrequencyConstraintNonRestrictiveRangeErrorType() + { + this.frequencyConstraintField = new FrequencyConstraintRef(); + } + + public FrequencyConstraintRef FrequencyConstraint + { + get + { + return this.frequencyConstraintField; + } + set + { + this.frequencyConstraintField = value; + } + } + } + + public partial class FrequencyConstraintExactlyOneErrorType : ModelError + { + + private FrequencyConstraintRef frequencyConstraintField; + + public FrequencyConstraintExactlyOneErrorType() + { + this.frequencyConstraintField = new FrequencyConstraintRef(); + } + + public FrequencyConstraintRef FrequencyConstraint + { + get + { + return this.frequencyConstraintField; + } + set + { + this.frequencyConstraintField = value; + } + } + } + + public partial class FrequencyConstraintMinMaxErrorType : ModelError + { + + private FrequencyConstraintRef frequencyConstraintField; + + public FrequencyConstraintMinMaxErrorType() + { + this.frequencyConstraintField = new FrequencyConstraintRef(); + } + + public FrequencyConstraintRef FrequencyConstraint + { + get + { + return this.frequencyConstraintField; + } + set + { + this.frequencyConstraintField = value; + } + } + } + + public partial class DataTypeNotSpecifiedErrorType : ModelError + { + + private DataTypeUseRef conceptualDataTypeField; + + public DataTypeNotSpecifiedErrorType() + { + this.conceptualDataTypeField = new DataTypeUseRef(); + } + + public DataTypeUseRef ConceptualDataType + { + get + { + return this.conceptualDataTypeField; + } + set + { + this.conceptualDataTypeField = value; + } + } + } + + public partial class TooManyReadingRolesErrorType : ModelError + { + + private ReadingRef readingField; + + public TooManyReadingRolesErrorType() + { + this.readingField = new ReadingRef(); + } + + public ReadingRef Reading + { + get + { + return this.readingField; + } + set + { + this.readingField = value; + } + } + } + + public partial class TooFewFactTypeRoleInstancesErrorType : ModelError + { + + private FactTypeInstanceRef factTypeInstanceField; + + public TooFewFactTypeRoleInstancesErrorType() + { + this.factTypeInstanceField = new FactTypeInstanceRef(); + } + + public FactTypeInstanceRef FactTypeInstance + { + get + { + return this.factTypeInstanceField; + } + set + { + this.factTypeInstanceField = value; + } + } + } + + public partial class TooFewEntityTypeRoleInstancesErrorType : ModelError + { + + private EntityTypeInstanceRef entityTypeInstanceField; + + public TooFewEntityTypeRoleInstancesErrorType() + { + this.entityTypeInstanceField = new EntityTypeInstanceRef(); + } + + public EntityTypeInstanceRef EntityTypeInstance + { + get + { + return this.entityTypeInstanceField; + } + set + { + this.entityTypeInstanceField = value; + } + } + } + + public partial class TooFewRoleSequencesErrorType : ModelError + { + + private object itemField; + + public object Item + { + get + { + return this.itemField; + } + set + { + this.itemField = value; + } + } + } + + public partial class ReadingRequiresUserModificationErrorType : ModelError + { + + private ReadingRef itemField; + + public ReadingRequiresUserModificationErrorType() + { + this.itemField = new ReadingRef(); + } + + public ReadingRef Item + { + get + { + return this.itemField; + } + set + { + this.itemField = value; + } + } + } + + public partial class TooFewReadingRolesErrorType : ModelError + { + + private ReadingRef readingField; + + public TooFewReadingRolesErrorType() + { + this.readingField = new ReadingRef(); + } + + public ReadingRef Reading + { + get + { + return this.readingField; + } + set + { + this.readingField = value; + } + } + } + + public partial class FactTypeRequiresReadingErrorType : ModelError + { + + private FactTypeRef factField; + + public FactTypeRequiresReadingErrorType() + { + this.factField = new FactTypeRef(); + } + + public FactTypeRef Fact + { + get + { + return this.factField; + } + set + { + this.factField = value; + } + } + } + + public partial class FactTypeRequiresInternalUniquenessConstraintErrorType : ModelError + { + + private FactTypeRef factField; + + public FactTypeRequiresInternalUniquenessConstraintErrorType() + { + this.factField = new FactTypeRef(); + } + + public FactTypeRef Fact + { + get + { + return this.factField; + } + set + { + this.factField = value; + } + } + } + + public partial class ExternalConstraintRoleSequenceArityMismatchErrorType : ModelError + { + + private SetComparisonConstraintRef constraintField; + + public ExternalConstraintRoleSequenceArityMismatchErrorType() + { + this.constraintField = new SetComparisonConstraintRef(); + } + + public SetComparisonConstraintRef Constraint + { + get + { + return this.constraintField; + } + set + { + this.constraintField = value; + } + } + } + + public partial class EntityTypeRequiresReferenceSchemeErrorType : ModelError + { + + private ObjectTypeRef entityTypeField; + + public EntityTypeRequiresReferenceSchemeErrorType() + { + this.entityTypeField = new ObjectTypeRef(); + } + + public ObjectTypeRef EntityType + { + get + { + return this.entityTypeField; + } + set + { + this.entityTypeField = value; + } + } + } + + public partial class DuplicateReadingSignatureErrorType : ModelError + { + + private DuplicateReadingSignatureErrorTypeReadings readingsField; + + public DuplicateReadingSignatureErrorType() + { + this.readingsField = new DuplicateReadingSignatureErrorTypeReadings(); + } + + public DuplicateReadingSignatureErrorTypeReadings Readings + { + get + { + return this.readingsField; + } + set + { + this.readingsField = value; + } + } + } + + public partial class DuplicateReadingSignatureErrorTypeReadings + { + + private List readingField; + + public DuplicateReadingSignatureErrorTypeReadings() + { + this.readingField = new List(); + } + + public List Reading + { + get + { + return this.readingField; + } + set + { + this.readingField = value; + } + } + } + + public partial class FunctionDuplicateNameErrorType : ModelError + { + + private FunctionDuplicateNameErrorTypeFunctions functionsField; + + public FunctionDuplicateNameErrorType() + { + this.functionsField = new FunctionDuplicateNameErrorTypeFunctions(); + } + + public FunctionDuplicateNameErrorTypeFunctions Functions + { + get + { + return this.functionsField; + } + set + { + this.functionsField = value; + } + } + } + + public partial class FunctionDuplicateNameErrorTypeFunctions + { + + private List functionField; + + public FunctionDuplicateNameErrorTypeFunctions() + { + this.functionField = new List(); + } + + public List Function + { + get + { + return this.functionField; + } + set + { + this.functionField = value; + } + } + } + + public partial class FunctionRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class RecognizedPhraseDuplicateNameErrorType : ModelError + { + + private RecognizedPhraseDuplicateNameErrorTypeRecognizedPhrases recognizedPhrasesField; + + public RecognizedPhraseDuplicateNameErrorType() + { + this.recognizedPhrasesField = new RecognizedPhraseDuplicateNameErrorTypeRecognizedPhrases(); + } + + public RecognizedPhraseDuplicateNameErrorTypeRecognizedPhrases RecognizedPhrases + { + get + { + return this.recognizedPhrasesField; + } + set + { + this.recognizedPhrasesField = value; + } + } + } + + public partial class RecognizedPhraseDuplicateNameErrorTypeRecognizedPhrases + { + + private List recognizedPhraseField; + + public RecognizedPhraseDuplicateNameErrorTypeRecognizedPhrases() + { + this.recognizedPhraseField = new List(); + } + + public List RecognizedPhrase + { + get + { + return this.recognizedPhraseField; + } + set + { + this.recognizedPhraseField = value; + } + } + } + + public partial class ObjectTypeDuplicateNameErrorType : ModelError + { + + private ObjectTypeDuplicateNameErrorTypeObjects objectsField; + + public ObjectTypeDuplicateNameErrorType() + { + this.objectsField = new ObjectTypeDuplicateNameErrorTypeObjects(); + } + + public ObjectTypeDuplicateNameErrorTypeObjects Objects + { + get + { + return this.objectsField; + } + set + { + this.objectsField = value; + } + } + } + + public partial class ObjectTypeDuplicateNameErrorTypeObjects + { + + private List objectField; + + public ObjectTypeDuplicateNameErrorTypeObjects() + { + this.objectField = new List(); + } + + public List Object + { + get + { + return this.objectField; + } + set + { + this.objectField = value; + } + } + } + + public partial class ConstraintDuplicateNameErrorType : ModelError + { + + private List constraintsField; + + public ConstraintDuplicateNameErrorType() + { + this.constraintsField = new List(); + } + + [System.Xml.Serialization.XmlArrayItemAttribute("CardinalityConstraint", typeof(CardinalityConstraintRef), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("SetComparisonConstraint", typeof(SetComparisonConstraintRef), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("SetConstraint", typeof(SetConstraintRef), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("ValueConstraint", typeof(ValueConstraintRef), IsNullable = false)] + public List Constraints + { + get + { + return this.constraintsField; + } + set + { + this.constraintsField = value; + } + } + } + + public partial class ModelNotesType + { + + private List modelNoteField; + + public ModelNotesType() + { + this.modelNoteField = new List(); + } + + public List ModelNote + { + get + { + return this.modelNoteField; + } + set + { + this.modelNoteField = value; + } + } + } + + public partial class ModelNoteType : NoteType + { + + private List referencedByField; + + public ModelNoteType() + { + this.referencedByField = new List(); + } + + [System.Xml.Serialization.XmlArrayItemAttribute("FactType", typeof(FactTypeRef), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("ObjectType", typeof(ObjectTypeRef), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("SetComparisonConstraint", typeof(SetComparisonConstraintRef), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("SetConstraint", typeof(SetConstraintRef), IsNullable = false)] + public List ReferencedBy + { + get + { + return this.referencedByField; + } + set + { + this.referencedByField = value; + } + } + } + + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ModelNoteType))] + public partial class NoteType + { + + private string textField; + + private string idField; + + public string Text + { + get + { + return this.textField; + } + set + { + this.textField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + } + + public partial class DataTypeRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class ReferenceModeKindRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class CustomReferenceModeType + { + + private string customFormatStringField; + + private ReferenceModeKindRef kindField; + + private DataTypeRef defaultDataTypeField; + + private string idField; + + private string nameField; + + public CustomReferenceModeType() + { + this.defaultDataTypeField = new DataTypeRef(); + this.kindField = new ReferenceModeKindRef(); + } + + public string CustomFormatString + { + get + { + return this.customFormatStringField; + } + set + { + this.customFormatStringField = value; + } + } + + public ReferenceModeKindRef Kind + { + get + { + return this.kindField; + } + set + { + this.kindField = value; + } + } + + public DataTypeRef DefaultDataType + { + get + { + return this.defaultDataTypeField; + } + set + { + this.defaultDataTypeField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + + public string Name + { + get + { + return this.nameField; + } + set + { + this.nameField = value; + } + } + } + + public partial class CustomReferenceModesType + { + + private List customReferenceModeField; + + public CustomReferenceModesType() + { + this.customReferenceModeField = new List(); + } + + public List CustomReferenceMode + { + get + { + return this.customReferenceModeField; + } + set + { + this.customReferenceModeField = value; + } + } + } + + public partial class FunctionParameterType + { + + private string idField; + + private string nameField; + + private bool bagInputField; + + public FunctionParameterType() + { + this.bagInputField = false; + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + + public string Name + { + get + { + return this.nameField; + } + set + { + this.nameField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(false)] + public bool BagInput + { + get + { + return this.bagInputField; + } + set + { + this.bagInputField = value; + } + } + } + + public partial class FunctionType + { + + private List parametersField; + + private string idField; + + private string nameField; + + private bool isBooleanField; + + private string operatorSymbolField; + + public FunctionType() + { + this.parametersField = new List(); + this.isBooleanField = false; + } + + [System.Xml.Serialization.XmlArrayItemAttribute("Parameter", IsNullable = false)] + public List Parameters + { + get + { + return this.parametersField; + } + set + { + this.parametersField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + + public string Name + { + get + { + return this.nameField; + } + set + { + this.nameField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(false)] + public bool IsBoolean + { + get + { + return this.isBooleanField; + } + set + { + this.isBooleanField = value; + } + } + + public string OperatorSymbol + { + get + { + return this.operatorSymbolField; + } + set + { + this.operatorSymbolField = value; + } + } + } + + [System.Xml.Serialization.XmlIncludeAttribute(typeof(UUIDNumericDataTypeType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ObjectIdOtherDataTypeType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(RowIdOtherDataTypeType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(YesOrNoLogicalDataTypeType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(TrueOrFalseLogicalDataTypeType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(DateAndTimeTemporalDataTypeType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(DateTemporalDataTypeType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(TimeTemporalDataTypeType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(AutoTimestampTemporalDataTypeType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(OleObjectRawDataDataTypeType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(PictureRawDataDataTypeType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(LargeLengthRawDataDataTypeType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(VariableLengthRawDataDataTypeType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(FixedLengthRawDataDataTypeType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(MoneyNumericDataTypeType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(DecimalNumericDataTypeType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(DoublePrecisionFloatingPointNumericDataTypeType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(SinglePrecisionFloatingPointNumericDataTypeType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(FloatingPointNumericDataTypeType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(AutoCounterNumericDataTypeType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(UnsignedLargeIntegerNumericDataTypeType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(UnsignedSmallIntegerNumericDataTypeType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(UnsignedTinyIntegerNumericDataTypeType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(UnsignedIntegerNumericDataTypeType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(SignedLargeIntegerNumericDataTypeType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(SignedSmallIntegerNumericDataTypeType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(SignedIntegerNumericDataTypeType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(LargeLengthTextDataTypeType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(VariableLengthTextDataTypeType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(FixedLengthTextDataTypeType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(UnspecifiedDataTypeType))] + public abstract partial class DataType + { + + private System.Xml.XmlElement itemField; + + private string idField; + + public System.Xml.XmlElement Item + { + get + { + return this.itemField; + } + set + { + this.itemField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + } + + public partial class UUIDNumericDataTypeType : DataType + { + } + + public partial class ObjectIdOtherDataTypeType : DataType + { + } + + public partial class RowIdOtherDataTypeType : DataType + { + } + + public partial class YesOrNoLogicalDataTypeType : DataType + { + } + + public partial class TrueOrFalseLogicalDataTypeType : DataType + { + } + + public partial class DateAndTimeTemporalDataTypeType : DataType + { + } + + public partial class DateTemporalDataTypeType : DataType + { + } + + public partial class TimeTemporalDataTypeType : DataType + { + } + + public partial class AutoTimestampTemporalDataTypeType : DataType + { + } + + public partial class OleObjectRawDataDataTypeType : DataType + { + } + + public partial class PictureRawDataDataTypeType : DataType + { + } + + public partial class LargeLengthRawDataDataTypeType : DataType + { + } + + public partial class VariableLengthRawDataDataTypeType : DataType + { + } + + public partial class FixedLengthRawDataDataTypeType : DataType + { + } + + public partial class MoneyNumericDataTypeType : DataType + { + } + + public partial class DecimalNumericDataTypeType : DataType + { + } + + public partial class DoublePrecisionFloatingPointNumericDataTypeType : DataType + { + } + + public partial class SinglePrecisionFloatingPointNumericDataTypeType : DataType + { + } + + public partial class FloatingPointNumericDataTypeType : DataType + { + } + + public partial class AutoCounterNumericDataTypeType : DataType + { + } + + public partial class UnsignedLargeIntegerNumericDataTypeType : DataType + { + } + + public partial class UnsignedSmallIntegerNumericDataTypeType : DataType + { + } + + public partial class UnsignedTinyIntegerNumericDataTypeType : DataType + { + } + + public partial class UnsignedIntegerNumericDataTypeType : DataType + { + } + + public partial class SignedLargeIntegerNumericDataTypeType : DataType + { + } + + public partial class SignedSmallIntegerNumericDataTypeType : DataType + { + } + + public partial class SignedIntegerNumericDataTypeType : DataType + { + } + + public partial class LargeLengthTextDataTypeType : DataType + { + } + + public partial class VariableLengthTextDataTypeType : DataType + { + } + + public partial class FixedLengthTextDataTypeType : DataType + { + } + + public partial class UnspecifiedDataTypeType : DataType + { + } + + public partial class ObjectificationRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class RoleProxyType + { + + private RoleRef roleField; + + private System.Xml.XmlElement extensionsField; + + private string idField; + + public RoleProxyType() + { + this.roleField = new RoleRef(); + } + + public RoleRef Role + { + get + { + return this.roleField; + } + set + { + this.roleField = value; + } + } + + public System.Xml.XmlElement Extensions + { + get + { + return this.extensionsField; + } + set + { + this.extensionsField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + } + + public partial class ImpliedFactRolesType + { + + private List itemsField; + + public ImpliedFactRolesType() + { + this.itemsField = new List(); + } + + public List Items + { + get + { + return this.itemsField; + } + set + { + this.itemsField = value; + } + } + } + + public partial class ObjectifiedUnaryRoleType : RoleBaseType + { + + private RoleRef unaryRoleField; + + private System.Xml.XmlElement extensionsField; + + public ObjectifiedUnaryRoleType() + { + this.unaryRoleField = new RoleRef(); + } + + public RoleRef UnaryRole + { + get + { + return this.unaryRoleField; + } + set + { + this.unaryRoleField = value; + } + } + + public System.Xml.XmlElement Extensions + { + get + { + return this.extensionsField; + } + set + { + this.extensionsField = value; + } + } + } + + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ObjectifiedUnaryRoleType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(RoleType))] + public abstract partial class RoleBaseType + { + + private ObjectTypeRef rolePlayerField; + + private RoleValueRestrictionType valueRestrictionField; + + private UnaryRoleCardinalityRestrictionType cardinalityRestrictionField; + + private RoleBaseTypeDerivationSource derivationSourceField; + + private RoleInstancesType roleInstancesField; + + private string nameField; + + private string idField; + + private bool _IsMandatoryField; + + private MultiplicityValues _MultiplicityField; + + public RoleBaseType() + { + this.roleInstancesField = new RoleInstancesType(); + this.derivationSourceField = new RoleBaseTypeDerivationSource(); + this.cardinalityRestrictionField = new UnaryRoleCardinalityRestrictionType(); + this.valueRestrictionField = new RoleValueRestrictionType(); + this.rolePlayerField = new ObjectTypeRef(); + this._IsMandatoryField = false; + this._MultiplicityField = MultiplicityValues.ZeroToOne; + } + + public ObjectTypeRef RolePlayer + { + get + { + return this.rolePlayerField; + } + set + { + this.rolePlayerField = value; + } + } + + public RoleValueRestrictionType ValueRestriction + { + get + { + return this.valueRestrictionField; + } + set + { + this.valueRestrictionField = value; + } + } + + public UnaryRoleCardinalityRestrictionType CardinalityRestriction + { + get + { + return this.cardinalityRestrictionField; + } + set + { + this.cardinalityRestrictionField = value; + } + } + + public RoleBaseTypeDerivationSource DerivationSource + { + get + { + return this.derivationSourceField; + } + set + { + this.derivationSourceField = value; + } + } + + public RoleInstancesType RoleInstances + { + get + { + return this.roleInstancesField; + } + set + { + this.roleInstancesField = value; + } + } + + public string Name + { + get + { + return this.nameField; + } + set + { + this.nameField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(false)] + public bool _IsMandatory + { + get + { + return this._IsMandatoryField; + } + set + { + this._IsMandatoryField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(MultiplicityValues.ZeroToOne)] + public MultiplicityValues _Multiplicity + { + get + { + return this._MultiplicityField; + } + set + { + this._MultiplicityField = value; + } + } + } + + public partial class RoleValueRestrictionType + { + + private ValueConstraintWithNameAndModalityType roleValueConstraintField; + + public RoleValueRestrictionType() + { + this.roleValueConstraintField = new ValueConstraintWithNameAndModalityType(); + } + + public ValueConstraintWithNameAndModalityType RoleValueConstraint + { + get + { + return this.roleValueConstraintField; + } + set + { + this.roleValueConstraintField = value; + } + } + } + + public partial class ValueConstraintWithNameAndModalityType : ValueConstraintType + { + + private string nameField; + + private ConstraintModalityValues modalityField; + + public ValueConstraintWithNameAndModalityType() + { + this.modalityField = ConstraintModalityValues.Alethic; + } + + public string Name + { + get + { + return this.nameField; + } + set + { + this.nameField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(ConstraintModalityValues.Alethic)] + public ConstraintModalityValues Modality + { + get + { + return this.modalityField; + } + set + { + this.modalityField = value; + } + } + } + + public enum ConstraintModalityValues + { + + /// + Alethic, + + /// + Deontic, + } + + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ValueConstraintWithNameAndModalityType))] + public partial class ValueConstraintType + { + + private DefinitionsType definitionsField; + + private NotesType notesField; + + private ValueRangesType valueRangesField; + + private System.Xml.XmlElement extensionsField; + + private string idField; + + public ValueConstraintType() + { + this.valueRangesField = new ValueRangesType(); + this.notesField = new NotesType(); + this.definitionsField = new DefinitionsType(); + } + + public DefinitionsType Definitions + { + get + { + return this.definitionsField; + } + set + { + this.definitionsField = value; + } + } + + public NotesType Notes + { + get + { + return this.notesField; + } + set + { + this.notesField = value; + } + } + + public ValueRangesType ValueRanges + { + get + { + return this.valueRangesField; + } + set + { + this.valueRangesField = value; + } + } + + public System.Xml.XmlElement Extensions + { + get + { + return this.extensionsField; + } + set + { + this.extensionsField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + } + + public partial class NotesType + { + + private NoteType noteField; + + public NotesType() + { + this.noteField = new NoteType(); + } + + public NoteType Note + { + get + { + return this.noteField; + } + set + { + this.noteField = value; + } + } + } + + public partial class ValueRangesType + { + + private List valueRangeField; + + public ValueRangesType() + { + this.valueRangeField = new List(); + } + + public List ValueRange + { + get + { + return this.valueRangeField; + } + set + { + this.valueRangeField = value; + } + } + } + + public partial class ValueRangeType + { + + private string idField; + + private string minValueField; + + private string maxValueField; + + private RangeInclusionValues minInclusionField; + + private RangeInclusionValues maxInclusionField; + + private string invariantMinValueField; + + private string invariantMaxValueField; + + public ValueRangeType() + { + this.minInclusionField = RangeInclusionValues.NotSet; + this.maxInclusionField = RangeInclusionValues.NotSet; + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + + public string MinValue + { + get + { + return this.minValueField; + } + set + { + this.minValueField = value; + } + } + + public string MaxValue + { + get + { + return this.maxValueField; + } + set + { + this.maxValueField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(RangeInclusionValues.NotSet)] + public RangeInclusionValues MinInclusion + { + get + { + return this.minInclusionField; + } + set + { + this.minInclusionField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(RangeInclusionValues.NotSet)] + public RangeInclusionValues MaxInclusion + { + get + { + return this.maxInclusionField; + } + set + { + this.maxInclusionField = value; + } + } + + public string InvariantMinValue + { + get + { + return this.invariantMinValueField; + } + set + { + this.invariantMinValueField = value; + } + } + + public string InvariantMaxValue + { + get + { + return this.invariantMaxValueField; + } + set + { + this.invariantMaxValueField = value; + } + } + } + + public enum RangeInclusionValues + { + + /// + NotSet, + + /// + Open, + + /// + Closed, + } + + public partial class UnaryRoleCardinalityRestrictionType + { + + private CardinalityConstraintType unaryRoleCardinalityConstraintField; + + public UnaryRoleCardinalityRestrictionType() + { + this.unaryRoleCardinalityConstraintField = new CardinalityConstraintType(); + } + + public CardinalityConstraintType UnaryRoleCardinalityConstraint + { + get + { + return this.unaryRoleCardinalityConstraintField; + } + set + { + this.unaryRoleCardinalityConstraintField = value; + } + } + } + + public partial class CardinalityConstraintType : ConstraintType + { + + private CardinalityRangesType rangesField; + + private System.Xml.XmlElement extensionsField; + + public CardinalityConstraintType() + { + this.rangesField = new CardinalityRangesType(); + } + + public CardinalityRangesType Ranges + { + get + { + return this.rangesField; + } + set + { + this.rangesField = value; + } + } + + public System.Xml.XmlElement Extensions + { + get + { + return this.extensionsField; + } + set + { + this.extensionsField = value; + } + } + } + + public partial class CardinalityRangesType + { + + private List cardinalityRangeField; + + public CardinalityRangesType() + { + this.cardinalityRangeField = new List(); + } + + public List CardinalityRange + { + get + { + return this.cardinalityRangeField; + } + set + { + this.cardinalityRangeField = value; + } + } + } + + public partial class CardinalityRangeType + { + + private string idField; + + private string fromField; + + private string toField; + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + + public string From + { + get + { + return this.fromField; + } + set + { + this.fromField = value; + } + } + + public string To + { + get + { + return this.toField; + } + set + { + this.toField = value; + } + } + } + + [System.Xml.Serialization.XmlIncludeAttribute(typeof(SetConstraintWithJoinType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ValueComparisonConstraintType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(RingConstraintType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(UniquenessConstraintType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(FrequencyConstraintType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(SetConstraintType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(MandatoryConstraintType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(CardinalityConstraintType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(SetComparisonConstraintType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(SubsetConstraintType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ExclusionConstraintType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(EqualityConstraintType))] + public abstract partial class ConstraintType + { + + private DefinitionsType definitionsField; + + private NotesType notesField; + + private string idField; + + private string nameField; + + private ConstraintModalityValues modalityField; + + public ConstraintType() + { + this.notesField = new NotesType(); + this.definitionsField = new DefinitionsType(); + this.modalityField = ConstraintModalityValues.Alethic; + } + + public DefinitionsType Definitions + { + get + { + return this.definitionsField; + } + set + { + this.definitionsField = value; + } + } + + public NotesType Notes + { + get + { + return this.notesField; + } + set + { + this.notesField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + + public string Name + { + get + { + return this.nameField; + } + set + { + this.nameField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(ConstraintModalityValues.Alethic)] + public ConstraintModalityValues Modality + { + get + { + return this.modalityField; + } + set + { + this.modalityField = value; + } + } + } + + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ValueComparisonConstraintType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(RingConstraintType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(UniquenessConstraintType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(FrequencyConstraintType))] + public abstract partial class SetConstraintWithJoinType : ConstraintType + { + + private ConstraintRoleSequenceWithJoinType roleSequenceField; + + public SetConstraintWithJoinType() + { + this.roleSequenceField = new ConstraintRoleSequenceWithJoinType(); + } + + public ConstraintRoleSequenceWithJoinType RoleSequence + { + get + { + return this.roleSequenceField; + } + set + { + this.roleSequenceField = value; + } + } + } + + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ConstraintRoleSequenceWithJoinAndIdType))] + public partial class ConstraintRoleSequenceWithJoinType + { + + private List roleField; + + private JoinRuleType joinRuleField; + + public ConstraintRoleSequenceWithJoinType() + { + this.joinRuleField = new JoinRuleType(); + this.roleField = new List(); + } + + public List Role + { + get + { + return this.roleField; + } + set + { + this.roleField = value; + } + } + + public JoinRuleType JoinRule + { + get + { + return this.joinRuleField; + } + set + { + this.joinRuleField = value; + } + } + } + + public partial class JoinRuleType + { + + private ConstraintRoleSequenceJoinPathType joinPathField; + + public JoinRuleType() + { + this.joinPathField = new ConstraintRoleSequenceJoinPathType(); + } + + public ConstraintRoleSequenceJoinPathType JoinPath + { + get + { + return this.joinPathField; + } + set + { + this.joinPathField = value; + } + } + } + + public partial class ConstraintRoleSequenceJoinPathType : RolePathOwnerType + { + + private List joinPathProjectionsField; + + private bool isAutomaticField; + + public ConstraintRoleSequenceJoinPathType() + { + this.joinPathProjectionsField = new List(); + this.isAutomaticField = false; + } + + [System.Xml.Serialization.XmlArrayItemAttribute("JoinPathProjection", IsNullable = false)] + public List JoinPathProjections + { + get + { + return this.joinPathProjectionsField; + } + set + { + this.joinPathProjectionsField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(false)] + public bool IsAutomatic + { + get + { + return this.isAutomaticField; + } + set + { + this.isAutomaticField = value; + } + } + } + + public partial class JoinPathProjectionType + { + + private List constraintRoleProjectionField; + + private string idField; + + private string refField; + + public JoinPathProjectionType() + { + this.constraintRoleProjectionField = new List(); + } + + public List ConstraintRoleProjection + { + get + { + return this.constraintRoleProjectionField; + } + set + { + this.constraintRoleProjectionField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class ConstraintRoleProjectionType + { + + private ConstraintRoleProjectionTypeProjectedFrom projectedFromField; + + private string idField; + + private string refField; + + private bool isAutomaticField; + + public ConstraintRoleProjectionType() + { + this.projectedFromField = new ConstraintRoleProjectionTypeProjectedFrom(); + this.isAutomaticField = false; + } + + public ConstraintRoleProjectionTypeProjectedFrom ProjectedFrom + { + get + { + return this.projectedFromField; + } + set + { + this.projectedFromField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(false)] + public bool IsAutomatic + { + get + { + return this.isAutomaticField; + } + set + { + this.isAutomaticField = value; + } + } + } + + public partial class ConstraintRoleProjectionTypeProjectedFrom + { + + private object itemField; + + public object Item + { + get + { + return this.itemField; + } + set + { + this.itemField = value; + } + } + } + + public partial class RootObjectTypeRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ConstraintRoleSequenceJoinPathType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(SubtypeDerivationPathType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(FactTypeDerivationPathType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(QueryDerivationPathType))] + public abstract partial class RolePathOwnerType + { + + private object itemField; + + private List calculatedValuesField; + + private RolePathOwnerTypeSubqueries subqueriesField; + + private string idField; + + public RolePathOwnerType() + { + this.subqueriesField = new RolePathOwnerTypeSubqueries(); + this.calculatedValuesField = new List(); + } + + public object Item + { + get + { + return this.itemField; + } + set + { + this.itemField = value; + } + } + + [System.Xml.Serialization.XmlArrayItemAttribute("CalculatedValue", IsNullable = false)] + public List CalculatedValues + { + get + { + return this.calculatedValuesField; + } + set + { + this.calculatedValuesField = value; + } + } + + public RolePathOwnerTypeSubqueries Subqueries + { + get + { + return this.subqueriesField; + } + set + { + this.subqueriesField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + } + + public partial class RolePathOwnerTypePathComponent + { + + private LeadRolePathType rolePathField; + + public RolePathOwnerTypePathComponent() + { + this.rolePathField = new LeadRolePathType(); + } + + public LeadRolePathType RolePath + { + get + { + return this.rolePathField; + } + set + { + this.rolePathField = value; + } + } + } + + public partial class LeadRolePathType : RolePathType + { + + private List objectUnifiersField; + + private List subqueryParameterInputsField; + + private List calculatedValuesField; + + private List conditionsField; + + private NotesType notesField; + + public LeadRolePathType() + { + this.notesField = new NotesType(); + this.conditionsField = new List(); + this.calculatedValuesField = new List(); + this.subqueryParameterInputsField = new List(); + this.objectUnifiersField = new List(); + } + + [System.Xml.Serialization.XmlArrayItemAttribute("ObjectUnifier", IsNullable = false)] + public List ObjectUnifiers + { + get + { + return this.objectUnifiersField; + } + set + { + this.objectUnifiersField = value; + } + } + + [System.Xml.Serialization.XmlArrayItemAttribute("SubqueryParameterInputsFor", IsNullable = false)] + public List SubqueryParameterInputs + { + get + { + return this.subqueryParameterInputsField; + } + set + { + this.subqueryParameterInputsField = value; + } + } + + [System.Xml.Serialization.XmlArrayItemAttribute("CalculatedValue", IsNullable = false)] + public List CalculatedValues + { + get + { + return this.calculatedValuesField; + } + set + { + this.calculatedValuesField = value; + } + } + + [System.Xml.Serialization.XmlArrayItemAttribute("CalculatedCondition", IsNullable = false)] + public List Conditions + { + get + { + return this.conditionsField; + } + set + { + this.conditionsField = value; + } + } + + public NotesType Notes + { + get + { + return this.notesField; + } + set + { + this.notesField = value; + } + } + } + + public partial class ObjectUnifierType + { + + private List itemsField; + + private string idField; + + public ObjectUnifierType() + { + this.itemsField = new List(); + } + + public List Items + { + get + { + return this.itemsField; + } + set + { + this.itemsField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + } + + public partial class SubqueryParameterInputsForType + { + + private List parameterInputField; + + private string idField; + + private string refField; + + public SubqueryParameterInputsForType() + { + this.parameterInputField = new List(); + } + + public List ParameterInput + { + get + { + return this.parameterInputField; + } + set + { + this.parameterInputField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class SubqueryParameterInputType + { + + private SubqueryParameterInputTypeInputFrom inputFromField; + + private string idField; + + private string refField; + + public SubqueryParameterInputType() + { + this.inputFromField = new SubqueryParameterInputTypeInputFrom(); + } + + public SubqueryParameterInputTypeInputFrom InputFrom + { + get + { + return this.inputFromField; + } + set + { + this.inputFromField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class SubqueryParameterInputTypeInputFrom + { + + private object itemField; + + public object Item + { + get + { + return this.itemField; + } + set + { + this.itemField = value; + } + } + } + + public partial class CalculatedValueType + { + + private FunctionRef functionField; + + private object itemField; + + private List inputsField; + + private string idField; + + private bool universalAggregationContextField; + + public CalculatedValueType() + { + this.inputsField = new List(); + this.functionField = new FunctionRef(); + this.universalAggregationContextField = false; + } + + public FunctionRef Function + { + get + { + return this.functionField; + } + set + { + this.functionField = value; + } + } + + public object Item + { + get + { + return this.itemField; + } + set + { + this.itemField = value; + } + } + + [System.Xml.Serialization.XmlArrayItemAttribute("Input", IsNullable = false)] + public List Inputs + { + get + { + return this.inputsField; + } + set + { + this.inputsField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(false)] + public bool UniversalAggregationContext + { + get + { + return this.universalAggregationContextField; + } + set + { + this.universalAggregationContextField = value; + } + } + } + + public partial class CalculatedValueTypeAggregationContext + { + + private List itemsField; + + public CalculatedValueTypeAggregationContext() + { + this.itemsField = new List(); + } + + public List Items + { + get + { + return this.itemsField; + } + set + { + this.itemsField = value; + } + } + } + + public partial class CalculatedValueInputType + { + + private FunctionParameterRef parameterField; + + private CalculatedValueInputTypeSource sourceField; + + private string idField; + + private bool distinctValuesField; + + public CalculatedValueInputType() + { + this.sourceField = new CalculatedValueInputTypeSource(); + this.parameterField = new FunctionParameterRef(); + this.distinctValuesField = false; + } + + public FunctionParameterRef Parameter + { + get + { + return this.parameterField; + } + set + { + this.parameterField = value; + } + } + + public CalculatedValueInputTypeSource Source + { + get + { + return this.sourceField; + } + set + { + this.sourceField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(false)] + public bool DistinctValues + { + get + { + return this.distinctValuesField; + } + set + { + this.distinctValuesField = value; + } + } + } + + public partial class CalculatedValueInputTypeSource + { + + private object itemField; + + public object Item + { + get + { + return this.itemField; + } + set + { + this.itemField = value; + } + } + } + + [System.Xml.Serialization.XmlIncludeAttribute(typeof(LeadRolePathType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(RoleSubPathType))] + public abstract partial class RolePathType + { + + private List itemsField; + + private string idField; + + private bool splitIsNegatedField; + + private LogicalCombinationOperatorType splitCombinationOperatorField; + + public RolePathType() + { + this.itemsField = new List(); + this.splitIsNegatedField = false; + this.splitCombinationOperatorField = LogicalCombinationOperatorType.And; + } + + public List Items + { + get + { + return this.itemsField; + } + set + { + this.itemsField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(false)] + public bool SplitIsNegated + { + get + { + return this.splitIsNegatedField; + } + set + { + this.splitIsNegatedField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(LogicalCombinationOperatorType.And)] + public LogicalCombinationOperatorType SplitCombinationOperator + { + get + { + return this.splitCombinationOperatorField; + } + set + { + this.splitCombinationOperatorField = value; + } + } + } + + public partial class RolePathTypePathedRoles + { + + private List pathedRoleField; + + public RolePathTypePathedRoles() + { + this.pathedRoleField = new List(); + } + + public List PathedRole + { + get + { + return this.pathedRoleField; + } + set + { + this.pathedRoleField = value; + } + } + } + + public partial class PathedRoleType + { + + private PathConditionRoleValueRestrictionType valueRestrictionField; + + private PathedRoleRef correlatedWithField; + + private string idField; + + private string refField; + + private PathedRolePurposeType purposeField; + + private bool isNegatedField; + + public PathedRoleType() + { + this.correlatedWithField = new PathedRoleRef(); + this.valueRestrictionField = new PathConditionRoleValueRestrictionType(); + this.isNegatedField = false; + } + + public PathConditionRoleValueRestrictionType ValueRestriction + { + get + { + return this.valueRestrictionField; + } + set + { + this.valueRestrictionField = value; + } + } + + public PathedRoleRef CorrelatedWith + { + get + { + return this.correlatedWithField; + } + set + { + this.correlatedWithField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + + public PathedRolePurposeType Purpose + { + get + { + return this.purposeField; + } + set + { + this.purposeField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(false)] + public bool IsNegated + { + get + { + return this.isNegatedField; + } + set + { + this.isNegatedField = value; + } + } + } + + public partial class PathConditionRoleValueRestrictionType + { + + private ValueConstraintType pathedRoleConditionValueConstraintField; + + public PathConditionRoleValueRestrictionType() + { + this.pathedRoleConditionValueConstraintField = new ValueConstraintType(); + } + + public ValueConstraintType PathedRoleConditionValueConstraint + { + get + { + return this.pathedRoleConditionValueConstraintField; + } + set + { + this.pathedRoleConditionValueConstraintField = value; + } + } + } + + public enum PathedRolePurposeType + { + + /// + StartRole, + + /// + SameFactType, + + /// + PostInnerJoin, + + /// + PostOuterJoin, + } + + public partial class RootObjectTypeType + { + + private PathConditionRootValueRestrictionType valueRestrictionField; + + private string idField; + + private string refField; + + private bool isNegatedField; + + public RootObjectTypeType() + { + this.valueRestrictionField = new PathConditionRootValueRestrictionType(); + this.isNegatedField = false; + } + + public PathConditionRootValueRestrictionType ValueRestriction + { + get + { + return this.valueRestrictionField; + } + set + { + this.valueRestrictionField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(false)] + public bool IsNegated + { + get + { + return this.isNegatedField; + } + set + { + this.isNegatedField = value; + } + } + } + + public partial class PathConditionRootValueRestrictionType + { + + private ValueConstraintType pathRootConditionValueConstraintField; + + public PathConditionRootValueRestrictionType() + { + this.pathRootConditionValueConstraintField = new ValueConstraintType(); + } + + public ValueConstraintType PathRootConditionValueConstraint + { + get + { + return this.pathRootConditionValueConstraintField; + } + set + { + this.pathRootConditionValueConstraintField = value; + } + } + } + + public partial class RolePathTypeSubPaths + { + + private List subPathField; + + public RolePathTypeSubPaths() + { + this.subPathField = new List(); + } + + public List SubPath + { + get + { + return this.subPathField; + } + set + { + this.subPathField = value; + } + } + } + + public partial class RoleSubPathType : RolePathType + { + } + + public enum LogicalCombinationOperatorType + { + + /// + And, + + /// + Or, + + /// + Xor, + } + + public partial class RolePathOwnerTypePathComponents + { + + private List rolePathField; + + private List sharedRolePathField; + + public RolePathOwnerTypePathComponents() + { + this.sharedRolePathField = new List(); + this.rolePathField = new List(); + } + + public List RolePath + { + get + { + return this.rolePathField; + } + set + { + this.rolePathField = value; + } + } + + public List SharedRolePath + { + get + { + return this.sharedRolePathField; + } + set + { + this.sharedRolePathField = value; + } + } + } + + public partial class RolePathOwnerTypeSubqueries + { + + private List subqueryField; + + private List sharedSubqueryField; + + public RolePathOwnerTypeSubqueries() + { + this.sharedSubqueryField = new List(); + this.subqueryField = new List(); + } + + public List Subquery + { + get + { + return this.subqueryField; + } + set + { + this.subqueryField = value; + } + } + + public List SharedSubquery + { + get + { + return this.sharedSubqueryField; + } + set + { + this.sharedSubqueryField = value; + } + } + } + + public partial class QueryType + { + + private DefinitionsType definitionsField; + + private NotesType notesField; + + private List queryRolesField; + + private QueryDerivationRuleType derivationRuleField; + + private QueryParametersType queryParametersField; + + private System.Xml.XmlElement extensionsField; + + private string idField; + + private string _SignatureField; + + public QueryType() + { + this.queryParametersField = new QueryParametersType(); + this.derivationRuleField = new QueryDerivationRuleType(); + this.queryRolesField = new List(); + this.notesField = new NotesType(); + this.definitionsField = new DefinitionsType(); + } + + public DefinitionsType Definitions + { + get + { + return this.definitionsField; + } + set + { + this.definitionsField = value; + } + } + + public NotesType Notes + { + get + { + return this.notesField; + } + set + { + this.notesField = value; + } + } + + [System.Xml.Serialization.XmlArrayItemAttribute("Role", IsNullable = false)] + public List QueryRoles + { + get + { + return this.queryRolesField; + } + set + { + this.queryRolesField = value; + } + } + + public QueryDerivationRuleType DerivationRule + { + get + { + return this.derivationRuleField; + } + set + { + this.derivationRuleField = value; + } + } + + public QueryParametersType QueryParameters + { + get + { + return this.queryParametersField; + } + set + { + this.queryParametersField = value; + } + } + + public System.Xml.XmlElement Extensions + { + get + { + return this.extensionsField; + } + set + { + this.extensionsField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + + public string _Signature + { + get + { + return this._SignatureField; + } + set + { + this._SignatureField = value; + } + } + } + + public partial class RoleType : RoleBaseType + { + + private System.Xml.XmlElement extensionsField; + + public System.Xml.XmlElement Extensions + { + get + { + return this.extensionsField; + } + set + { + this.extensionsField = value; + } + } + } + + public partial class QueryDerivationRuleType + { + + private QueryDerivationPathType queryDerivationPathField; + + public QueryDerivationRuleType() + { + this.queryDerivationPathField = new QueryDerivationPathType(); + } + + public QueryDerivationPathType QueryDerivationPath + { + get + { + return this.queryDerivationPathField; + } + set + { + this.queryDerivationPathField = value; + } + } + } + + public partial class QueryDerivationPathType : RolePathOwnerType + { + + private List derivationProjectionsField; + + public QueryDerivationPathType() + { + this.derivationProjectionsField = new List(); + } + + [System.Xml.Serialization.XmlArrayItemAttribute("DerivationProjection", IsNullable = false)] + public List DerivationProjections + { + get + { + return this.derivationProjectionsField; + } + set + { + this.derivationProjectionsField = value; + } + } + } + + public partial class RoleBasedDerivationProjectionType + { + + private List roleProjectionField; + + private string idField; + + private string refField; + + public RoleBasedDerivationProjectionType() + { + this.roleProjectionField = new List(); + } + + public List RoleProjection + { + get + { + return this.roleProjectionField; + } + set + { + this.roleProjectionField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class DerivedRoleProjectionType + { + + private DerivedRoleProjectionTypeDerivationSource derivationSourceField; + + private string idField; + + private string refField; + + private bool isAutomaticField; + + public DerivedRoleProjectionType() + { + this.derivationSourceField = new DerivedRoleProjectionTypeDerivationSource(); + this.isAutomaticField = false; + } + + public DerivedRoleProjectionTypeDerivationSource DerivationSource + { + get + { + return this.derivationSourceField; + } + set + { + this.derivationSourceField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(false)] + public bool IsAutomatic + { + get + { + return this.isAutomaticField; + } + set + { + this.isAutomaticField = value; + } + } + } + + public partial class DerivedRoleProjectionTypeDerivationSource + { + + private object itemField; + + public object Item + { + get + { + return this.itemField; + } + set + { + this.itemField = value; + } + } + } + + public partial class QueryParametersType + { + + private List itemsField; + + public QueryParametersType() + { + this.itemsField = new List(); + } + + public List Items + { + get + { + return this.itemsField; + } + set + { + this.itemsField = value; + } + } + } + + public partial class QueryParameterType + { + + private ObjectTypeRef parameterTypeField; + + private QueryParameterBindingsType parameterBindingsField; + + private string idField; + + private string nameField; + + public QueryParameterType() + { + this.parameterBindingsField = new QueryParameterBindingsType(); + this.parameterTypeField = new ObjectTypeRef(); + } + + public ObjectTypeRef ParameterType + { + get + { + return this.parameterTypeField; + } + set + { + this.parameterTypeField = value; + } + } + + public QueryParameterBindingsType ParameterBindings + { + get + { + return this.parameterBindingsField; + } + set + { + this.parameterBindingsField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + + public string Name + { + get + { + return this.nameField; + } + set + { + this.nameField = value; + } + } + } + + public partial class QueryParameterBindingsType + { + + private List itemsField; + + public QueryParameterBindingsType() + { + this.itemsField = new List(); + } + + public List Items + { + get + { + return this.itemsField; + } + set + { + this.itemsField = value; + } + } + } + + public partial class QueryParameterBindingType + { + + private QueryParameterBindingTypeBoundTo boundToField; + + private string idField; + + private string refField; + + public QueryParameterBindingType() + { + this.boundToField = new QueryParameterBindingTypeBoundTo(); + } + + public QueryParameterBindingTypeBoundTo BoundTo + { + get + { + return this.boundToField; + } + set + { + this.boundToField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class QueryParameterBindingTypeBoundTo + { + + private object itemField; + + public object Item + { + get + { + return this.itemField; + } + set + { + this.itemField = value; + } + } + } + + public partial class SubqueryRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class SubtypeDerivationPathType : RolePathOwnerType + { + + private InformalDerivationRuleType informalRuleField; + + private bool externalDerivationField; + + private DerivationCompletenessValues derivationCompletenessField; + + private DerivationStorageValues derivationStorageField; + + public SubtypeDerivationPathType() + { + this.informalRuleField = new InformalDerivationRuleType(); + this.externalDerivationField = false; + this.derivationCompletenessField = DerivationCompletenessValues.FullyDerived; + this.derivationStorageField = DerivationStorageValues.NotStored; + } + + public InformalDerivationRuleType InformalRule + { + get + { + return this.informalRuleField; + } + set + { + this.informalRuleField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(false)] + public bool ExternalDerivation + { + get + { + return this.externalDerivationField; + } + set + { + this.externalDerivationField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(DerivationCompletenessValues.FullyDerived)] + public DerivationCompletenessValues DerivationCompleteness + { + get + { + return this.derivationCompletenessField; + } + set + { + this.derivationCompletenessField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(DerivationStorageValues.NotStored)] + public DerivationStorageValues DerivationStorage + { + get + { + return this.derivationStorageField; + } + set + { + this.derivationStorageField = value; + } + } + } + + public partial class InformalDerivationRuleType + { + + private DerivationExpressionType derivationNoteField; + + public InformalDerivationRuleType() + { + this.derivationNoteField = new DerivationExpressionType(); + } + + public DerivationExpressionType DerivationNote + { + get + { + return this.derivationNoteField; + } + set + { + this.derivationNoteField = value; + } + } + } + + [System.Xml.Serialization.XmlIncludeAttribute(typeof(FactTypeDerivationExpressionType))] + public partial class DerivationExpressionType + { + + private string bodyField; + + private string idField; + + public string Body + { + get + { + return this.bodyField; + } + set + { + this.bodyField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + } + + public partial class FactTypeDerivationExpressionType : DerivationExpressionType + { + + private DerivationExpressionStorageValues derivationStorageField; + + public DerivationExpressionStorageValues DerivationStorage + { + get + { + return this.derivationStorageField; + } + set + { + this.derivationStorageField = value; + } + } + } + + public enum DerivationExpressionStorageValues + { + + /// + Derived, + + /// + DerivedAndStored, + + /// + PartiallyDerived, + + /// + PartiallyDerivedAndStored, + } + + public enum DerivationCompletenessValues + { + + /// + FullyDerived, + + /// + PartiallyDerived, + } + + public enum DerivationStorageValues + { + + /// + NotStored, + + /// + Stored, + } + + public partial class FactTypeDerivationPathType : RolePathOwnerType + { + + private List derivationProjectionsField; + + private InformalDerivationRuleType informalRuleField; + + private DerivationCompletenessValues derivationCompletenessField; + + private DerivationStorageValues derivationStorageField; + + private bool setProjectionField; + + private string nameField; + + private bool externalDerivationField; + + public FactTypeDerivationPathType() + { + this.informalRuleField = new InformalDerivationRuleType(); + this.derivationProjectionsField = new List(); + this.derivationCompletenessField = DerivationCompletenessValues.FullyDerived; + this.derivationStorageField = DerivationStorageValues.NotStored; + this.setProjectionField = false; + this.externalDerivationField = false; + } + + [System.Xml.Serialization.XmlArrayItemAttribute("DerivationProjection", IsNullable = false)] + public List DerivationProjections + { + get + { + return this.derivationProjectionsField; + } + set + { + this.derivationProjectionsField = value; + } + } + + public InformalDerivationRuleType InformalRule + { + get + { + return this.informalRuleField; + } + set + { + this.informalRuleField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(DerivationCompletenessValues.FullyDerived)] + public DerivationCompletenessValues DerivationCompleteness + { + get + { + return this.derivationCompletenessField; + } + set + { + this.derivationCompletenessField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(DerivationStorageValues.NotStored)] + public DerivationStorageValues DerivationStorage + { + get + { + return this.derivationStorageField; + } + set + { + this.derivationStorageField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(false)] + public bool SetProjection + { + get + { + return this.setProjectionField; + } + set + { + this.setProjectionField = value; + } + } + + public string Name + { + get + { + return this.nameField; + } + set + { + this.nameField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(false)] + public bool ExternalDerivation + { + get + { + return this.externalDerivationField; + } + set + { + this.externalDerivationField = value; + } + } + } + + public partial class ConstraintRoleSequenceWithJoinAndIdType : ConstraintRoleSequenceWithJoinType + { + + private string idField; + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + } + + public partial class ValueComparisonConstraintType : SetConstraintWithJoinType + { + + private System.Xml.XmlElement extensionsField; + + private ValueComparisonOperatorValues operatorField; + + public System.Xml.XmlElement Extensions + { + get + { + return this.extensionsField; + } + set + { + this.extensionsField = value; + } + } + + public ValueComparisonOperatorValues Operator + { + get + { + return this.operatorField; + } + set + { + this.operatorField = value; + } + } + } + + public enum ValueComparisonOperatorValues + { + + /// + Undefined, + + /// + Equal, + + /// + NotEqual, + + /// + LessThan, + + /// + LessThanOrEqual, + + /// + GreaterThan, + + /// + GreaterThanOrEqual, + } + + public partial class RingConstraintType : SetConstraintWithJoinType + { + + private System.Xml.XmlElement extensionsField; + + private RingConstraintTypeValues typeField; + + public System.Xml.XmlElement Extensions + { + get + { + return this.extensionsField; + } + set + { + this.extensionsField = value; + } + } + + public RingConstraintTypeValues Type + { + get + { + return this.typeField; + } + set + { + this.typeField = value; + } + } + } + + public enum RingConstraintTypeValues + { + + /// + Undefined, + + /// + Reflexive, + + /// + Irreflexive, + + /// + PurelyReflexive, + + /// + Symmetric, + + /// + Antisymmetric, + + /// + Asymmetric, + + /// + Transitive, + + /// + Intransitive, + + /// + StronglyIntransitive, + + /// + Acyclic, + + /// + AcyclicTransitive, + + /// + AcyclicIntransitive, + + /// + AcyclicStronglyIntransitive, + + /// + ReflexiveSymmetric, + + /// + ReflexiveAntisymmetric, + + /// + ReflexiveTransitive, + + /// + ReflexiveTransitiveAntisymmetric, + + /// + SymmetricTransitive, + + /// + SymmetricIrreflexive, + + /// + SymmetricIntransitive, + + /// + SymmetricStronglyIntransitive, + + /// + AsymmetricIntransitive, + + /// + AsymmetricStronglyIntransitive, + + /// + TransitiveIrreflexive, + + /// + TransitiveAntisymmetric, + + /// + TransitiveAsymmetric, + } + + public partial class UniquenessConstraintType : SetConstraintWithJoinType + { + + private ObjectTypeRef preferredIdentifierForField; + + private System.Xml.XmlElement extensionsField; + + private bool isInternalField; + + public UniquenessConstraintType() + { + this.preferredIdentifierForField = new ObjectTypeRef(); + this.isInternalField = false; + } + + public ObjectTypeRef PreferredIdentifierFor + { + get + { + return this.preferredIdentifierForField; + } + set + { + this.preferredIdentifierForField = value; + } + } + + public System.Xml.XmlElement Extensions + { + get + { + return this.extensionsField; + } + set + { + this.extensionsField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(false)] + public bool IsInternal + { + get + { + return this.isInternalField; + } + set + { + this.isInternalField = value; + } + } + } + + public partial class FrequencyConstraintType : SetConstraintWithJoinType + { + + private System.Xml.XmlElement extensionsField; + + private int minFrequencyField; + + private bool minFrequencyFieldSpecified; + + private int maxFrequencyField; + + private bool maxFrequencyFieldSpecified; + + public System.Xml.XmlElement Extensions + { + get + { + return this.extensionsField; + } + set + { + this.extensionsField = value; + } + } + + public int MinFrequency + { + get + { + return this.minFrequencyField; + } + set + { + this.minFrequencyField = value; + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool MinFrequencySpecified + { + get + { + return this.minFrequencyFieldSpecified; + } + set + { + this.minFrequencyFieldSpecified = value; + } + } + + public int MaxFrequency + { + get + { + return this.maxFrequencyField; + } + set + { + this.maxFrequencyField = value; + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool MaxFrequencySpecified + { + get + { + return this.maxFrequencyFieldSpecified; + } + set + { + this.maxFrequencyFieldSpecified = value; + } + } + } + + [System.Xml.Serialization.XmlIncludeAttribute(typeof(MandatoryConstraintType))] + public abstract partial class SetConstraintType : ConstraintType + { + + private List roleSequenceField; + + public SetConstraintType() + { + this.roleSequenceField = new List(); + } + + [System.Xml.Serialization.XmlArrayItemAttribute("Role", IsNullable = false)] + public List RoleSequence + { + get + { + return this.roleSequenceField; + } + set + { + this.roleSequenceField = value; + } + } + } + + public partial class MandatoryConstraintType : SetConstraintType + { + + private ObjectTypeRef impliedByObjectTypeField; + + private ObjectTypeRef inherentForObjectTypeField; + + private ExclusionConstraintRef exclusiveOrExclusionConstraintField; + + private System.Xml.XmlElement extensionsField; + + private bool isSimpleField; + + private bool isImpliedField; + + public MandatoryConstraintType() + { + this.exclusiveOrExclusionConstraintField = new ExclusionConstraintRef(); + this.inherentForObjectTypeField = new ObjectTypeRef(); + this.impliedByObjectTypeField = new ObjectTypeRef(); + this.isSimpleField = false; + this.isImpliedField = false; + } + + public ObjectTypeRef ImpliedByObjectType + { + get + { + return this.impliedByObjectTypeField; + } + set + { + this.impliedByObjectTypeField = value; + } + } + + public ObjectTypeRef InherentForObjectType + { + get + { + return this.inherentForObjectTypeField; + } + set + { + this.inherentForObjectTypeField = value; + } + } + + public ExclusionConstraintRef ExclusiveOrExclusionConstraint + { + get + { + return this.exclusiveOrExclusionConstraintField; + } + set + { + this.exclusiveOrExclusionConstraintField = value; + } + } + + public System.Xml.XmlElement Extensions + { + get + { + return this.extensionsField; + } + set + { + this.extensionsField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(false)] + public bool IsSimple + { + get + { + return this.isSimpleField; + } + set + { + this.isSimpleField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(false)] + public bool IsImplied + { + get + { + return this.isImpliedField; + } + set + { + this.isImpliedField = value; + } + } + } + + public partial class ExclusionConstraintRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + [System.Xml.Serialization.XmlIncludeAttribute(typeof(SubsetConstraintType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ExclusionConstraintType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(EqualityConstraintType))] + public abstract partial class SetComparisonConstraintType : ConstraintType + { + + private List roleSequencesField; + + public SetComparisonConstraintType() + { + this.roleSequencesField = new List(); + } + + [System.Xml.Serialization.XmlArrayItemAttribute("RoleSequence", IsNullable = false)] + public List RoleSequences + { + get + { + return this.roleSequencesField; + } + set + { + this.roleSequencesField = value; + } + } + } + + public partial class SubsetConstraintType : SetComparisonConstraintType + { + + private System.Xml.XmlElement extensionsField; + + public System.Xml.XmlElement Extensions + { + get + { + return this.extensionsField; + } + set + { + this.extensionsField = value; + } + } + } + + public partial class ExclusionConstraintType : SetComparisonConstraintType + { + + private MandatoryConstraintRef exclusiveOrMandatoryConstraintField; + + private System.Xml.XmlElement extensionsField; + + public ExclusionConstraintType() + { + this.exclusiveOrMandatoryConstraintField = new MandatoryConstraintRef(); + } + + public MandatoryConstraintRef ExclusiveOrMandatoryConstraint + { + get + { + return this.exclusiveOrMandatoryConstraintField; + } + set + { + this.exclusiveOrMandatoryConstraintField = value; + } + } + + public System.Xml.XmlElement Extensions + { + get + { + return this.extensionsField; + } + set + { + this.extensionsField = value; + } + } + } + + public partial class EqualityConstraintType : SetComparisonConstraintType + { + + private System.Xml.XmlElement extensionsField; + + public System.Xml.XmlElement Extensions + { + get + { + return this.extensionsField; + } + set + { + this.extensionsField = value; + } + } + } + + public partial class RoleBaseTypeDerivationSource + { + + private object itemField; + + public object Item + { + get + { + return this.itemField; + } + set + { + this.itemField = value; + } + } + } + + public partial class RoleInstancesType + { + + private List itemsField; + + private List itemsElementNameField; + + public RoleInstancesType() + { + this.itemsElementNameField = new List(); + this.itemsField = new List(); + } + + [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")] + public List Items + { + get + { + return this.itemsField; + } + set + { + this.itemsField = value; + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + public List ItemsElementName + { + get + { + return this.itemsElementNameField; + } + set + { + this.itemsElementNameField = value; + } + } + } + + public partial class RoleInstanceType + { + + private string idField; + + private string refField; + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public enum ItemsChoiceType + { + + /// + EntityTypeRoleInstance, + + /// + FactTypeRoleInstance, + + /// + ValueTypeRoleInstance, + } + + public enum MultiplicityValues + { + + /// + Unspecified, + + /// + Indeterminate, + + /// + ZeroToOne, + + /// + ZeroToMany, + + /// + ExactlyOne, + + /// + OneToMany, + } + + public partial class ImpliedFactTypeType + { + + private DefinitionsType definitionsField; + + private NotesType notesField; + + private ImpliedFactRolesType factRolesField; + + private ReadingOrdersType readingOrdersField; + + private List internalConstraintsField; + + private FactTypeDerivationRuleType derivationRuleField; + + private ObjectificationRef impliedByObjectificationField; + + private System.Xml.XmlElement extensionsField; + + private string _NameField; + + private string idField; + + private bool isExternalField; + + public ImpliedFactTypeType() + { + this.impliedByObjectificationField = new ObjectificationRef(); + this.derivationRuleField = new FactTypeDerivationRuleType(); + this.internalConstraintsField = new List(); + this.readingOrdersField = new ReadingOrdersType(); + this.factRolesField = new ImpliedFactRolesType(); + this.notesField = new NotesType(); + this.definitionsField = new DefinitionsType(); + this.isExternalField = false; + } + + public DefinitionsType Definitions + { + get + { + return this.definitionsField; + } + set + { + this.definitionsField = value; + } + } + + public NotesType Notes + { + get + { + return this.notesField; + } + set + { + this.notesField = value; + } + } + + public ImpliedFactRolesType FactRoles + { + get + { + return this.factRolesField; + } + set + { + this.factRolesField = value; + } + } + + public ReadingOrdersType ReadingOrders + { + get + { + return this.readingOrdersField; + } + set + { + this.readingOrdersField = value; + } + } + + [System.Xml.Serialization.XmlArrayItemAttribute("MandatoryConstraint", typeof(MandatoryConstraintRef), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("UniquenessConstraint", typeof(UniquenessConstraintRef), IsNullable = false)] + public List InternalConstraints + { + get + { + return this.internalConstraintsField; + } + set + { + this.internalConstraintsField = value; + } + } + + public FactTypeDerivationRuleType DerivationRule + { + get + { + return this.derivationRuleField; + } + set + { + this.derivationRuleField = value; + } + } + + public ObjectificationRef ImpliedByObjectification + { + get + { + return this.impliedByObjectificationField; + } + set + { + this.impliedByObjectificationField = value; + } + } + + public System.Xml.XmlElement Extensions + { + get + { + return this.extensionsField; + } + set + { + this.extensionsField = value; + } + } + + public string _Name + { + get + { + return this._NameField; + } + set + { + this._NameField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(false)] + public bool IsExternal + { + get + { + return this.isExternalField; + } + set + { + this.isExternalField = value; + } + } + } + + public partial class ReadingOrdersType + { + + private List readingOrderField; + + public ReadingOrdersType() + { + this.readingOrderField = new List(); + } + + public List ReadingOrder + { + get + { + return this.readingOrderField; + } + set + { + this.readingOrderField = value; + } + } + } + + public partial class ReadingOrderType + { + + private ReadingsType readingsField; + + private ReadingRoleSequenceType roleSequenceField; + + private string idField; + + public ReadingOrderType() + { + this.roleSequenceField = new ReadingRoleSequenceType(); + this.readingsField = new ReadingsType(); + } + + public ReadingsType Readings + { + get + { + return this.readingsField; + } + set + { + this.readingsField = value; + } + } + + public ReadingRoleSequenceType RoleSequence + { + get + { + return this.roleSequenceField; + } + set + { + this.roleSequenceField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + } + + public partial class ReadingsType + { + + private List readingField; + + public ReadingsType() + { + this.readingField = new List(); + } + + public List Reading + { + get + { + return this.readingField; + } + set + { + this.readingField = value; + } + } + } + + public partial class ReadingType + { + + private string dataField; + + private ReadingTypeExpandedData expandedDataField; + + private string idField; + + public ReadingType() + { + this.expandedDataField = new ReadingTypeExpandedData(); + } + + public string Data + { + get + { + return this.dataField; + } + set + { + this.dataField = value; + } + } + + public ReadingTypeExpandedData ExpandedData + { + get + { + return this.expandedDataField; + } + set + { + this.expandedDataField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + } + + public partial class ReadingTypeExpandedData + { + + private List roleTextField; + + private string frontTextField; + + public ReadingTypeExpandedData() + { + this.roleTextField = new List(); + } + + public List RoleText + { + get + { + return this.roleTextField; + } + set + { + this.roleTextField = value; + } + } + + public string FrontText + { + get + { + return this.frontTextField; + } + set + { + this.frontTextField = value; + } + } + } + + public partial class ReadingTypeExpandedDataRoleText + { + + private string roleIndexField; + + private string preBoundTextField; + + private string postBoundTextField; + + private string followingTextField; + + public string RoleIndex + { + get + { + return this.roleIndexField; + } + set + { + this.roleIndexField = value; + } + } + + public string PreBoundText + { + get + { + return this.preBoundTextField; + } + set + { + this.preBoundTextField = value; + } + } + + public string PostBoundText + { + get + { + return this.postBoundTextField; + } + set + { + this.postBoundTextField = value; + } + } + + public string FollowingText + { + get + { + return this.followingTextField; + } + set + { + this.followingTextField = value; + } + } + } + + public partial class ReadingRoleSequenceType + { + + private List roleField; + + public ReadingRoleSequenceType() + { + this.roleField = new List(); + } + + public List Role + { + get + { + return this.roleField; + } + set + { + this.roleField = value; + } + } + } + + public partial class FactTypeDerivationRuleType + { + + private FactTypeDerivationExpressionType derivationExpressionField; + + private FactTypeDerivationPathType factTypeDerivationPathField; + + public FactTypeDerivationRuleType() + { + this.factTypeDerivationPathField = new FactTypeDerivationPathType(); + this.derivationExpressionField = new FactTypeDerivationExpressionType(); + } + + public FactTypeDerivationExpressionType DerivationExpression + { + get + { + return this.derivationExpressionField; + } + set + { + this.derivationExpressionField = value; + } + } + + public FactTypeDerivationPathType FactTypeDerivationPath + { + get + { + return this.factTypeDerivationPathField; + } + set + { + this.factTypeDerivationPathField = value; + } + } + } + + public partial class SubtypeRolesType + { + + private RoleType supertypeMetaRoleField; + + private RoleType subtypeMetaRoleField; + + public SubtypeRolesType() + { + this.subtypeMetaRoleField = new RoleType(); + this.supertypeMetaRoleField = new RoleType(); + } + + public RoleType SupertypeMetaRole + { + get + { + return this.supertypeMetaRoleField; + } + set + { + this.supertypeMetaRoleField = value; + } + } + + public RoleType SubtypeMetaRole + { + get + { + return this.subtypeMetaRoleField; + } + set + { + this.subtypeMetaRoleField = value; + } + } + } + + public partial class SubtypeFactTypeType + { + + private DefinitionsType definitionsField; + + private NotesType notesField; + + private SubtypeRolesType factRolesField; + + private ReadingOrdersType readingOrdersField; + + private List internalConstraintsField; + + private FactTypeDerivationRuleType derivationRuleField; + + private List instancesField; + + private System.Xml.XmlElement extensionsField; + + private string _NameField; + + private string idField; + + private bool isExternalField; + + private bool isPrimaryField; + + private bool preferredIdentificationPathField; + + public SubtypeFactTypeType() + { + this.instancesField = new List(); + this.derivationRuleField = new FactTypeDerivationRuleType(); + this.internalConstraintsField = new List(); + this.readingOrdersField = new ReadingOrdersType(); + this.factRolesField = new SubtypeRolesType(); + this.notesField = new NotesType(); + this.definitionsField = new DefinitionsType(); + this.isExternalField = false; + this.isPrimaryField = false; + this.preferredIdentificationPathField = false; + } + + public DefinitionsType Definitions + { + get + { + return this.definitionsField; + } + set + { + this.definitionsField = value; + } + } + + public NotesType Notes + { + get + { + return this.notesField; + } + set + { + this.notesField = value; + } + } + + public SubtypeRolesType FactRoles + { + get + { + return this.factRolesField; + } + set + { + this.factRolesField = value; + } + } + + public ReadingOrdersType ReadingOrders + { + get + { + return this.readingOrdersField; + } + set + { + this.readingOrdersField = value; + } + } + + [System.Xml.Serialization.XmlArrayItemAttribute("MandatoryConstraint", typeof(MandatoryConstraintRef), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("UniquenessConstraint", typeof(UniquenessConstraintRef), IsNullable = false)] + public List InternalConstraints + { + get + { + return this.internalConstraintsField; + } + set + { + this.internalConstraintsField = value; + } + } + + public FactTypeDerivationRuleType DerivationRule + { + get + { + return this.derivationRuleField; + } + set + { + this.derivationRuleField = value; + } + } + + [System.Xml.Serialization.XmlArrayItemAttribute("FactTypeInstance", IsNullable = false)] + public List Instances + { + get + { + return this.instancesField; + } + set + { + this.instancesField = value; + } + } + + public System.Xml.XmlElement Extensions + { + get + { + return this.extensionsField; + } + set + { + this.extensionsField = value; + } + } + + public string _Name + { + get + { + return this._NameField; + } + set + { + this._NameField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(false)] + public bool IsExternal + { + get + { + return this.isExternalField; + } + set + { + this.isExternalField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(false)] + public bool IsPrimary + { + get + { + return this.isPrimaryField; + } + set + { + this.isPrimaryField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(false)] + public bool PreferredIdentificationPath + { + get + { + return this.preferredIdentificationPathField; + } + set + { + this.preferredIdentificationPathField = value; + } + } + } + + public partial class FactTypeInstanceType + { + + private List roleInstancesField; + + private System.Xml.XmlElement extensionsField; + + private string idField; + + public FactTypeInstanceType() + { + this.roleInstancesField = new List(); + } + + [System.Xml.Serialization.XmlArrayItemAttribute("FactTypeRoleInstance", IsNullable = false)] + public List RoleInstances + { + get + { + return this.roleInstancesField; + } + set + { + this.roleInstancesField = value; + } + } + + public System.Xml.XmlElement Extensions + { + get + { + return this.extensionsField; + } + set + { + this.extensionsField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + } + + public partial class FactTypeType + { + + private DefinitionsType definitionsField; + + private NotesType notesField; + + private List factRolesField; + + private ReadingOrdersType readingOrdersField; + + private List internalConstraintsField; + + private FactTypeDerivationRuleType derivationRuleField; + + private List instancesField; + + private System.Xml.XmlElement extensionsField; + + private string _NameField; + + private string idField; + + private bool isExternalField; + + public FactTypeType() + { + this.instancesField = new List(); + this.derivationRuleField = new FactTypeDerivationRuleType(); + this.internalConstraintsField = new List(); + this.readingOrdersField = new ReadingOrdersType(); + this.factRolesField = new List(); + this.notesField = new NotesType(); + this.definitionsField = new DefinitionsType(); + this.isExternalField = false; + } + + public DefinitionsType Definitions + { + get + { + return this.definitionsField; + } + set + { + this.definitionsField = value; + } + } + + public NotesType Notes + { + get + { + return this.notesField; + } + set + { + this.notesField = value; + } + } + + [System.Xml.Serialization.XmlArrayItemAttribute("Role", IsNullable = false)] + public List FactRoles + { + get + { + return this.factRolesField; + } + set + { + this.factRolesField = value; + } + } + + public ReadingOrdersType ReadingOrders + { + get + { + return this.readingOrdersField; + } + set + { + this.readingOrdersField = value; + } + } + + [System.Xml.Serialization.XmlArrayItemAttribute("MandatoryConstraint", typeof(MandatoryConstraintRef), IsNullable = false)] + [System.Xml.Serialization.XmlArrayItemAttribute("UniquenessConstraint", typeof(UniquenessConstraintRef), IsNullable = false)] + public List InternalConstraints + { + get + { + return this.internalConstraintsField; + } + set + { + this.internalConstraintsField = value; + } + } + + public FactTypeDerivationRuleType DerivationRule + { + get + { + return this.derivationRuleField; + } + set + { + this.derivationRuleField = value; + } + } + + [System.Xml.Serialization.XmlArrayItemAttribute("FactTypeInstance", IsNullable = false)] + public List Instances + { + get + { + return this.instancesField; + } + set + { + this.instancesField = value; + } + } + + public System.Xml.XmlElement Extensions + { + get + { + return this.extensionsField; + } + set + { + this.extensionsField = value; + } + } + + public string _Name + { + get + { + return this._NameField; + } + set + { + this._NameField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(false)] + public bool IsExternal + { + get + { + return this.isExternalField; + } + set + { + this.isExternalField = value; + } + } + } + + public partial class ValueTypeInstanceType + { + + private string valueField; + + private string invariantValueField; + + private System.Xml.XmlElement extensionsField; + + private string idField; + + public string Value + { + get + { + return this.valueField; + } + set + { + this.valueField = value; + } + } + + public string InvariantValue + { + get + { + return this.invariantValueField; + } + set + { + this.invariantValueField = value; + } + } + + public System.Xml.XmlElement Extensions + { + get + { + return this.extensionsField; + } + set + { + this.extensionsField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + } + + public partial class ValueTypeValueRestrictionType + { + + private ValueConstraintWithNameAndModalityType valueConstraintField; + + public ValueTypeValueRestrictionType() + { + this.valueConstraintField = new ValueConstraintWithNameAndModalityType(); + } + + public ValueConstraintWithNameAndModalityType ValueConstraint + { + get + { + return this.valueConstraintField; + } + set + { + this.valueConstraintField = value; + } + } + } + + public partial class DataTypeUse + { + + private string idField; + + private string refField; + + private int scaleField; + + private bool scaleFieldSpecified; + + private int lengthField; + + private bool lengthFieldSpecified; + + private bool autoGeneratedField; + + public DataTypeUse() + { + this.autoGeneratedField = false; + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + + public int Scale + { + get + { + return this.scaleField; + } + set + { + this.scaleField = value; + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ScaleSpecified + { + get + { + return this.scaleFieldSpecified; + } + set + { + this.scaleFieldSpecified = value; + } + } + + public int Length + { + get + { + return this.lengthField; + } + set + { + this.lengthField = value; + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool LengthSpecified + { + get + { + return this.lengthFieldSpecified; + } + set + { + this.lengthFieldSpecified = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(false)] + public bool AutoGenerated + { + get + { + return this.autoGeneratedField; + } + set + { + this.autoGeneratedField = value; + } + } + } + + public partial class ObjectifiedFactTypeRef + { + + private string idField; + + private string refField; + + private bool isImpliedField; + + public ObjectifiedFactTypeRef() + { + this.isImpliedField = false; + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(false)] + public bool IsImplied + { + get + { + return this.isImpliedField; + } + set + { + this.isImpliedField = value; + } + } + } + + public partial class EntityTypeSubtypeInstanceType + { + + private EntityTypeInstanceRef supertypeInstanceField; + + private FactTypeInstanceRef objectifiedInstanceField; + + private System.Xml.XmlElement extensionsField; + + private string idField; + + public EntityTypeSubtypeInstanceType() + { + this.objectifiedInstanceField = new FactTypeInstanceRef(); + this.supertypeInstanceField = new EntityTypeInstanceRef(); + } + + public EntityTypeInstanceRef SupertypeInstance + { + get + { + return this.supertypeInstanceField; + } + set + { + this.supertypeInstanceField = value; + } + } + + public FactTypeInstanceRef ObjectifiedInstance + { + get + { + return this.objectifiedInstanceField; + } + set + { + this.objectifiedInstanceField = value; + } + } + + public System.Xml.XmlElement Extensions + { + get + { + return this.extensionsField; + } + set + { + this.extensionsField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + } + + public partial class EntityTypeInstanceType + { + + private List roleInstancesField; + + private FactTypeInstanceRef objectifiedInstanceField; + + private System.Xml.XmlElement extensionsField; + + private string idField; + + public EntityTypeInstanceType() + { + this.objectifiedInstanceField = new FactTypeInstanceRef(); + this.roleInstancesField = new List(); + } + + [System.Xml.Serialization.XmlArrayItemAttribute("EntityTypeRoleInstance", IsNullable = false)] + public List RoleInstances + { + get + { + return this.roleInstancesField; + } + set + { + this.roleInstancesField = value; + } + } + + public FactTypeInstanceRef ObjectifiedInstance + { + get + { + return this.objectifiedInstanceField; + } + set + { + this.objectifiedInstanceField = value; + } + } + + public System.Xml.XmlElement Extensions + { + get + { + return this.extensionsField; + } + set + { + this.extensionsField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + } + + public partial class EntityTypeInstancesType + { + + private List itemsField; + + public EntityTypeInstancesType() + { + this.itemsField = new List(); + } + + public List Items + { + get + { + return this.itemsField; + } + set + { + this.itemsField = value; + } + } + } + + public partial class SubtypeDerivationRuleType + { + + private DerivationExpressionType subtypeDerivationExpressionField; + + private SubtypeDerivationPathType subtypeDerivationPathField; + + public SubtypeDerivationRuleType() + { + this.subtypeDerivationPathField = new SubtypeDerivationPathType(); + this.subtypeDerivationExpressionField = new DerivationExpressionType(); + } + + public DerivationExpressionType SubtypeDerivationExpression + { + get + { + return this.subtypeDerivationExpressionField; + } + set + { + this.subtypeDerivationExpressionField = value; + } + } + + public SubtypeDerivationPathType SubtypeDerivationPath + { + get + { + return this.subtypeDerivationPathField; + } + set + { + this.subtypeDerivationPathField = value; + } + } + } + + public partial class PlayedRolesType + { + + private List itemsField; + + private List itemsElementNameField; + + public PlayedRolesType() + { + this.itemsElementNameField = new List(); + this.itemsField = new List(); + } + + [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")] + public List Items + { + get + { + return this.itemsField; + } + set + { + this.itemsField = value; + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + public List ItemsElementName + { + get + { + return this.itemsElementNameField; + } + set + { + this.itemsElementNameField = value; + } + } + } + + public enum ItemsChoiceType1 + { + + /// + Role, + + /// + SubtypeMetaRole, + + /// + SupertypeMetaRole, + } + + public partial class ObjectTypeCardinalityRestrictionType + { + + private CardinalityConstraintType cardinalityConstraintField; + + public ObjectTypeCardinalityRestrictionType() + { + this.cardinalityConstraintField = new CardinalityConstraintType(); + } + + public CardinalityConstraintType CardinalityConstraint + { + get + { + return this.cardinalityConstraintField; + } + set + { + this.cardinalityConstraintField = value; + } + } + } + + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ValueTypeType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(ObjectifiedTypeType))] + [System.Xml.Serialization.XmlIncludeAttribute(typeof(EntityTypeType))] + public abstract partial class ObjectTypeType + { + + private DefinitionsType definitionsField; + + private NotesType notesField; + + private AliasesType abbreviationsField; + + private ObjectTypeCardinalityRestrictionType cardinalityRestrictionField; + + private PlayedRolesType playedRolesField; + + private SubtypeDerivationRuleType subtypeDerivationRuleField; + + private string nameField; + + private string idField; + + private bool isIndependentField; + + private bool isExternalField; + + private bool isPersonalField; + + public ObjectTypeType() + { + this.subtypeDerivationRuleField = new SubtypeDerivationRuleType(); + this.playedRolesField = new PlayedRolesType(); + this.cardinalityRestrictionField = new ObjectTypeCardinalityRestrictionType(); + this.abbreviationsField = new AliasesType(); + this.notesField = new NotesType(); + this.definitionsField = new DefinitionsType(); + this.isIndependentField = false; + this.isExternalField = false; + this.isPersonalField = false; + } + + public DefinitionsType Definitions + { + get + { + return this.definitionsField; + } + set + { + this.definitionsField = value; + } + } + + public NotesType Notes + { + get + { + return this.notesField; + } + set + { + this.notesField = value; + } + } + + public AliasesType Abbreviations + { + get + { + return this.abbreviationsField; + } + set + { + this.abbreviationsField = value; + } + } + + public ObjectTypeCardinalityRestrictionType CardinalityRestriction + { + get + { + return this.cardinalityRestrictionField; + } + set + { + this.cardinalityRestrictionField = value; + } + } + + public PlayedRolesType PlayedRoles + { + get + { + return this.playedRolesField; + } + set + { + this.playedRolesField = value; + } + } + + public SubtypeDerivationRuleType SubtypeDerivationRule + { + get + { + return this.subtypeDerivationRuleField; + } + set + { + this.subtypeDerivationRuleField = value; + } + } + + public string Name + { + get + { + return this.nameField; + } + set + { + this.nameField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(false)] + public bool IsIndependent + { + get + { + return this.isIndependentField; + } + set + { + this.isIndependentField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(false)] + public bool IsExternal + { + get + { + return this.isExternalField; + } + set + { + this.isExternalField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(false)] + public bool IsPersonal + { + get + { + return this.isPersonalField; + } + set + { + this.isPersonalField = value; + } + } + } + + public partial class ValueTypeType : ObjectTypeType + { + + private DataTypeUse conceptualDataTypeField; + + private ValueTypeValueRestrictionType valueRestrictionField; + + private List instancesField; + + private System.Xml.XmlElement extensionsField; + + private bool isImplicitBooleanValueField; + + public ValueTypeType() + { + this.instancesField = new List(); + this.valueRestrictionField = new ValueTypeValueRestrictionType(); + this.conceptualDataTypeField = new DataTypeUse(); + this.isImplicitBooleanValueField = false; + } + + public DataTypeUse ConceptualDataType + { + get + { + return this.conceptualDataTypeField; + } + set + { + this.conceptualDataTypeField = value; + } + } + + public ValueTypeValueRestrictionType ValueRestriction + { + get + { + return this.valueRestrictionField; + } + set + { + this.valueRestrictionField = value; + } + } + + [System.Xml.Serialization.XmlArrayItemAttribute("ValueTypeInstance", IsNullable = false)] + public List Instances + { + get + { + return this.instancesField; + } + set + { + this.instancesField = value; + } + } + + public System.Xml.XmlElement Extensions + { + get + { + return this.extensionsField; + } + set + { + this.extensionsField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(false)] + public bool IsImplicitBooleanValue + { + get + { + return this.isImplicitBooleanValueField; + } + set + { + this.isImplicitBooleanValueField = value; + } + } + } + + public partial class ObjectifiedTypeType : ObjectTypeType + { + + private UniquenessConstraintRef preferredIdentifierField; + + private ObjectifiedFactTypeRef nestedPredicateField; + + private EntityTypeInstancesType instancesField; + + private System.Xml.XmlElement extensionsField; + + private string _ReferenceModeField; + + public ObjectifiedTypeType() + { + this.instancesField = new EntityTypeInstancesType(); + this.nestedPredicateField = new ObjectifiedFactTypeRef(); + this.preferredIdentifierField = new UniquenessConstraintRef(); + } + + public UniquenessConstraintRef PreferredIdentifier + { + get + { + return this.preferredIdentifierField; + } + set + { + this.preferredIdentifierField = value; + } + } + + public ObjectifiedFactTypeRef NestedPredicate + { + get + { + return this.nestedPredicateField; + } + set + { + this.nestedPredicateField = value; + } + } + + public EntityTypeInstancesType Instances + { + get + { + return this.instancesField; + } + set + { + this.instancesField = value; + } + } + + public System.Xml.XmlElement Extensions + { + get + { + return this.extensionsField; + } + set + { + this.extensionsField = value; + } + } + + public string _ReferenceMode + { + get + { + return this._ReferenceModeField; + } + set + { + this._ReferenceModeField = value; + } + } + } + + public partial class EntityTypeType : ObjectTypeType + { + + private UniquenessConstraintRef preferredIdentifierField; + + private EntityTypeInstancesType instancesField; + + private System.Xml.XmlElement extensionsField; + + private string _ReferenceModeField; + + public EntityTypeType() + { + this.instancesField = new EntityTypeInstancesType(); + this.preferredIdentifierField = new UniquenessConstraintRef(); + } + + public UniquenessConstraintRef PreferredIdentifier + { + get + { + return this.preferredIdentifierField; + } + set + { + this.preferredIdentifierField = value; + } + } + + public EntityTypeInstancesType Instances + { + get + { + return this.instancesField; + } + set + { + this.instancesField = value; + } + } + + public System.Xml.XmlElement Extensions + { + get + { + return this.extensionsField; + } + set + { + this.extensionsField = value; + } + } + + public string _ReferenceMode + { + get + { + return this._ReferenceModeField; + } + set + { + this._ReferenceModeField = value; + } + } + } + + public partial class ModelErrorDisplayFilterType + { + + private List itemsField; + + private List anyAttrField; + + public ModelErrorDisplayFilterType() + { + this.anyAttrField = new List(); + this.itemsField = new List(); + } + + [System.Xml.Serialization.XmlAnyElementAttribute()] + public List Items + { + get + { + return this.itemsField; + } + set + { + this.itemsField = value; + } + } + + [System.Xml.Serialization.XmlAnyAttributeAttribute()] + public List AnyAttr + { + get + { + return this.anyAttrField; + } + set + { + this.anyAttrField = value; + } + } + } + + public partial class NameGeneratorType + { + + private System.Xml.XmlElement extensionsField; + + private List refinementsField; + + private RefinedInstanceType refinesGeneratedInstanceField; + + private string idField; + + private NameGeneratorTypeCasingOption casingOptionField; + + private bool casingOptionFieldSpecified; + + private NameGeneratorTypeSpacingFormat spacingFormatField; + + private bool spacingFormatFieldSpecified; + + private string spacingReplacementField; + + private string nameUsageField; + + private bool automaticallyShortenNamesField; + + private bool automaticallyShortenNamesFieldSpecified; + + private string userDefinedMaximumField; + + private bool useTargetDefaultMaximumField; + + private bool useTargetDefaultMaximumFieldSpecified; + + public NameGeneratorType() + { + this.refinesGeneratedInstanceField = new RefinedInstanceType(); + this.refinementsField = new List(); + } + + public System.Xml.XmlElement Extensions + { + get + { + return this.extensionsField; + } + set + { + this.extensionsField = value; + } + } + + [System.Xml.Serialization.XmlArrayItemAttribute("NameGenerator", IsNullable = false)] + public List Refinements + { + get + { + return this.refinementsField; + } + set + { + this.refinementsField = value; + } + } + + public RefinedInstanceType RefinesGeneratedInstance + { + get + { + return this.refinesGeneratedInstanceField; + } + set + { + this.refinesGeneratedInstanceField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + + public NameGeneratorTypeCasingOption CasingOption + { + get + { + return this.casingOptionField; + } + set + { + this.casingOptionField = value; + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool CasingOptionSpecified + { + get + { + return this.casingOptionFieldSpecified; + } + set + { + this.casingOptionFieldSpecified = value; + } + } + + public NameGeneratorTypeSpacingFormat SpacingFormat + { + get + { + return this.spacingFormatField; + } + set + { + this.spacingFormatField = value; + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool SpacingFormatSpecified + { + get + { + return this.spacingFormatFieldSpecified; + } + set + { + this.spacingFormatFieldSpecified = value; + } + } + + public string SpacingReplacement + { + get + { + return this.spacingReplacementField; + } + set + { + this.spacingReplacementField = value; + } + } + + public string NameUsage + { + get + { + return this.nameUsageField; + } + set + { + this.nameUsageField = value; + } + } + + public bool AutomaticallyShortenNames + { + get + { + return this.automaticallyShortenNamesField; + } + set + { + this.automaticallyShortenNamesField = value; + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool AutomaticallyShortenNamesSpecified + { + get + { + return this.automaticallyShortenNamesFieldSpecified; + } + set + { + this.automaticallyShortenNamesFieldSpecified = value; + } + } + + public string UserDefinedMaximum + { + get + { + return this.userDefinedMaximumField; + } + set + { + this.userDefinedMaximumField = value; + } + } + + public bool UseTargetDefaultMaximum + { + get + { + return this.useTargetDefaultMaximumField; + } + set + { + this.useTargetDefaultMaximumField = value; + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool UseTargetDefaultMaximumSpecified + { + get + { + return this.useTargetDefaultMaximumFieldSpecified; + } + set + { + this.useTargetDefaultMaximumFieldSpecified = value; + } + } + } + + public enum NameGeneratorTypeCasingOption + { + + /// + None, + + /// + Camel, + + /// + Pascal, + + /// + Upper, + + /// + Lower, + } + + public enum NameGeneratorTypeSpacingFormat + { + + /// + Retain, + + /// + Remove, + + /// + ReplaceWith, + } + + public partial class DisplayStateType + { + + private ORMModelRef oRMModelField; + + private DisplayStateTypeGlobalDisplayOptions globalDisplayOptionsField; + + private string idField; + + public DisplayStateType() + { + this.globalDisplayOptionsField = new DisplayStateTypeGlobalDisplayOptions(); + this.oRMModelField = new ORMModelRef(); + } + + public ORMModelRef ORMModel + { + get + { + return this.oRMModelField; + } + set + { + this.oRMModelField = value; + } + } + + public DisplayStateTypeGlobalDisplayOptions GlobalDisplayOptions + { + get + { + return this.globalDisplayOptionsField; + } + set + { + this.globalDisplayOptionsField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + } + + public partial class ORMModelRef + { + + private string refField; + + public string @ref + { + get + { + return this.refField; + } + set + { + this.refField = value; + } + } + } + + public partial class DisplayStateTypeGlobalDisplayOptions + { + + private List displaySettingField; + + public DisplayStateTypeGlobalDisplayOptions() + { + this.displaySettingField = new List(); + } + + public List DisplaySetting + { + get + { + return this.displaySettingField; + } + set + { + this.displaySettingField = value; + } + } + } + + public partial class DisplaySettingType + { + + private string idField; + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + } + + public partial class GenerationStateType + { + + private GenerationStateTypeGenerationSettings generationSettingsField; + + private string idField; + + public GenerationStateType() + { + this.generationSettingsField = new GenerationStateTypeGenerationSettings(); + } + + public GenerationStateTypeGenerationSettings GenerationSettings + { + get + { + return this.generationSettingsField; + } + set + { + this.generationSettingsField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + } + + public partial class GenerationStateTypeGenerationSettings + { + + private List generationSettingField; + + public GenerationStateTypeGenerationSettings() + { + this.generationSettingField = new List(); + } + + public List GenerationSetting + { + get + { + return this.generationSettingField; + } + set + { + this.generationSettingField = value; + } + } + } + + public partial class GenerationSettingType + { + + private string idField; + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + } + + public partial class GroupingType + { + + private ORMModelRef oRMModelField; + + private List groupsField; + + private string idField; + + public GroupingType() + { + this.groupsField = new List(); + this.oRMModelField = new ORMModelRef(); + } + + public ORMModelRef ORMModel + { + get + { + return this.oRMModelField; + } + set + { + this.oRMModelField = value; + } + } + + [System.Xml.Serialization.XmlArrayItemAttribute("Group", IsNullable = false)] + public List Groups + { + get + { + return this.groupsField; + } + set + { + this.groupsField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + } + + public partial class GroupType + { + + private DefinitionsType definitionsField; + + private NotesType notesField; + + private List groupTypesField; + + private GroupElementsType elementsField; + + private NestedGroupsType nestedGroupsField; + + private System.Xml.XmlElement extensionsField; + + private string idField; + + private string nameField; + + private int priorityField; + + private GroupTypeTypeCompliance typeComplianceField; + + public GroupType() + { + this.nestedGroupsField = new NestedGroupsType(); + this.elementsField = new GroupElementsType(); + this.groupTypesField = new List(); + this.notesField = new NotesType(); + this.definitionsField = new DefinitionsType(); + this.priorityField = 0; + this.typeComplianceField = GroupTypeTypeCompliance.NotExcluded; + } + + public DefinitionsType Definitions + { + get + { + return this.definitionsField; + } + set + { + this.definitionsField = value; + } + } + + public NotesType Notes + { + get + { + return this.notesField; + } + set + { + this.notesField = value; + } + } + + [System.Xml.Serialization.XmlArrayItemAttribute("GroupType", IsNullable = false)] + public List GroupTypes + { + get + { + return this.groupTypesField; + } + set + { + this.groupTypesField = value; + } + } + + public GroupElementsType Elements + { + get + { + return this.elementsField; + } + set + { + this.elementsField = value; + } + } + + public NestedGroupsType NestedGroups + { + get + { + return this.nestedGroupsField; + } + set + { + this.nestedGroupsField = value; + } + } + + public System.Xml.XmlElement Extensions + { + get + { + return this.extensionsField; + } + set + { + this.extensionsField = value; + } + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + + public string Name + { + get + { + return this.nameField; + } + set + { + this.nameField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(0)] + public int Priority + { + get + { + return this.priorityField; + } + set + { + this.priorityField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(GroupTypeTypeCompliance.NotExcluded)] + public GroupTypeTypeCompliance TypeCompliance + { + get + { + return this.typeComplianceField; + } + set + { + this.typeComplianceField = value; + } + } + } + + public partial class GroupTypeType + { + + private string idField; + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + } + + public partial class GroupElementsType + { + + private List itemsField; + + private List itemsElementNameField; + + public GroupElementsType() + { + this.itemsElementNameField = new List(); + this.itemsField = new List(); + } + + [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")] + public List Items + { + get + { + return this.itemsField; + } + set + { + this.itemsField = value; + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + public List ItemsElementName + { + get + { + return this.itemsElementNameField; + } + set + { + this.itemsElementNameField = value; + } + } + } + + public enum ItemsChoiceType5 + { + + /// + ExcludedElement, + + /// + IncludedElement, + } + + public partial class NestedGroupsType + { + + private List itemsField; + + private List itemsElementNameField; + + public NestedGroupsType() + { + this.itemsElementNameField = new List(); + this.itemsField = new List(); + } + + [System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")] + public List Items + { + get + { + return this.itemsField; + } + set + { + this.itemsField = value; + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + public List ItemsElementName + { + get + { + return this.itemsElementNameField; + } + set + { + this.itemsElementNameField = value; + } + } + } + + public enum ItemsChoiceType6 + { + + /// + ExcludedGroup, + + /// + IncludedGroup, + } + + public enum GroupTypeTypeCompliance + { + + /// + NotExcluded, + + /// + PartiallyApproved, + + /// + FullyApproved, + } + + public partial class DynamicColorType + { + + private string colorRoleField; + + private string colorValueField; + + public string ColorRole + { + get + { + return this.colorRoleField; + } + set + { + this.colorRoleField = value; + } + } + + public string ColorValue + { + get + { + return this.colorValueField; + } + set + { + this.colorValueField = value; + } + } + } + + public partial class ModelNoteReferencedByType + { + + private List itemsField; + + public ModelNoteReferencedByType() + { + this.itemsField = new List(); + } + + public List Items + { + get + { + return this.itemsField; + } + set + { + this.itemsField = value; + } + } + } + + public partial class ObjectTypesType + { + + private List itemsField; + + public ObjectTypesType() + { + this.itemsField = new List(); + } + + public List Items + { + get + { + return this.itemsField; + } + set + { + this.itemsField = value; + } + } + } + + public partial class EntityTypeRoleInstancesType + { + + private List entityTypeRoleInstanceField; + + public EntityTypeRoleInstancesType() + { + this.entityTypeRoleInstanceField = new List(); + } + + public List EntityTypeRoleInstance + { + get + { + return this.entityTypeRoleInstanceField; + } + set + { + this.entityTypeRoleInstanceField = value; + } + } + } + + public partial class FactTypeInstancesType + { + + private List factTypeInstanceField; + + public FactTypeInstancesType() + { + this.factTypeInstanceField = new List(); + } + + public List FactTypeInstance + { + get + { + return this.factTypeInstanceField; + } + set + { + this.factTypeInstanceField = value; + } + } + } + + public partial class FactTypeRoleInstancesType + { + + private List factTypeRoleInstanceField; + + public FactTypeRoleInstancesType() + { + this.factTypeRoleInstanceField = new List(); + } + + public List FactTypeRoleInstance + { + get + { + return this.factTypeRoleInstanceField; + } + set + { + this.factTypeRoleInstanceField = value; + } + } + } + + public partial class DataTypesType + { + + private List itemsField; + + public DataTypesType() + { + this.itemsField = new List(); + } + + public List Items + { + get + { + return this.itemsField; + } + set + { + this.itemsField = value; + } + } + } + + public partial class ConstraintRoleSequencesType + { + + private List roleSequenceField; + + public ConstraintRoleSequencesType() + { + this.roleSequenceField = new List(); + } + + public List RoleSequence + { + get + { + return this.roleSequenceField; + } + set + { + this.roleSequenceField = value; + } + } + } + + public partial class ConstraintRoleSequenceType + { + + private List roleField; + + public ConstraintRoleSequenceType() + { + this.roleField = new List(); + } + + public List Role + { + get + { + return this.roleField; + } + set + { + this.roleField = value; + } + } + } + + public partial class FactRolesType + { + + private List itemsField; + + public FactRolesType() + { + this.itemsField = new List(); + } + + public List Items + { + get + { + return this.itemsField; + } + set + { + this.itemsField = value; + } + } + } + + public partial class FactTypesType + { + + private List itemsField; + + public FactTypesType() + { + this.itemsField = new List(); + } + + public List Items + { + get + { + return this.itemsField; + } + set + { + this.itemsField = value; + } + } + } + + public partial class FunctionsType + { + + private List functionField; + + public FunctionsType() + { + this.functionField = new List(); + } + + public List Function + { + get + { + return this.functionField; + } + set + { + this.functionField = value; + } + } + } + + public partial class ConstraintsType + { + + private List itemsField; + + public ConstraintsType() + { + this.itemsField = new List(); + } + + public List Items + { + get + { + return this.itemsField; + } + set + { + this.itemsField = value; + } + } + } + + public partial class InternalConstraintsType + { + + private List itemsField; + + public InternalConstraintsType() + { + this.itemsField = new List(); + } + + public List Items + { + get + { + return this.itemsField; + } + set + { + this.itemsField = value; + } + } + } + + public partial class ModelErrorsType + { + + private List itemsField; + + public ModelErrorsType() + { + this.itemsField = new List(); + } + + public List Items + { + get + { + return this.itemsField; + } + set + { + this.itemsField = value; + } + } + } + + public partial class ReferenceModeKindsType + { + + private List referenceModeKindField; + + public ReferenceModeKindsType() + { + this.referenceModeKindField = new List(); + } + + public List ReferenceModeKind + { + get + { + return this.referenceModeKindField; + } + set + { + this.referenceModeKindField = value; + } + } + } + + public abstract partial class ReferenceModeNamingType + { + + private string idField; + + private NamingChoiceType namingChoiceField; + + private NamingChoiceType primaryIdentifierNamingChoiceField; + + private string customFormatField; + + private string primaryIdentifierCustomFormatField; + + public ReferenceModeNamingType() + { + this.namingChoiceField = NamingChoiceType.ModelDefault; + this.primaryIdentifierNamingChoiceField = NamingChoiceType.ModelDefault; + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(NamingChoiceType.ModelDefault)] + public NamingChoiceType NamingChoice + { + get + { + return this.namingChoiceField; + } + set + { + this.namingChoiceField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(NamingChoiceType.ModelDefault)] + public NamingChoiceType PrimaryIdentifierNamingChoice + { + get + { + return this.primaryIdentifierNamingChoiceField; + } + set + { + this.primaryIdentifierNamingChoiceField = value; + } + } + + public string CustomFormat + { + get + { + return this.customFormatField; + } + set + { + this.customFormatField = value; + } + } + + public string PrimaryIdentifierCustomFormat + { + get + { + return this.primaryIdentifierCustomFormatField; + } + set + { + this.primaryIdentifierCustomFormatField = value; + } + } + } + + public enum NamingChoiceType + { + + /// + ModelDefault, + + /// + ValueTypeName, + + /// + EntityTypeName, + + /// + ReferenceModeName, + + /// + CustomFormat, + } + + public abstract partial class DefaultReferenceModeNamingType + { + + private string idField; + + private DefaultReferenceModeNamingTypeTargetKind targetKindField; + + private EffectiveNamingChoiceType namingChoiceField; + + private EffectiveNamingChoiceType primaryIdentifierNamingChoiceField; + + private string customFormatField; + + private string primaryIdentifierCustomFormatField; + + public DefaultReferenceModeNamingType() + { + this.namingChoiceField = EffectiveNamingChoiceType.ValueTypeName; + this.primaryIdentifierNamingChoiceField = EffectiveNamingChoiceType.ValueTypeName; + } + + public string id + { + get + { + return this.idField; + } + set + { + this.idField = value; + } + } + + public DefaultReferenceModeNamingTypeTargetKind TargetKind + { + get + { + return this.targetKindField; + } + set + { + this.targetKindField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(EffectiveNamingChoiceType.ValueTypeName)] + public EffectiveNamingChoiceType NamingChoice + { + get + { + return this.namingChoiceField; + } + set + { + this.namingChoiceField = value; + } + } + + [System.ComponentModel.DefaultValueAttribute(EffectiveNamingChoiceType.ValueTypeName)] + public EffectiveNamingChoiceType PrimaryIdentifierNamingChoice + { + get + { + return this.primaryIdentifierNamingChoiceField; + } + set + { + this.primaryIdentifierNamingChoiceField = value; + } + } + + public string CustomFormat + { + get + { + return this.customFormatField; + } + set + { + this.customFormatField = value; + } + } + + public string PrimaryIdentifierCustomFormat + { + get + { + return this.primaryIdentifierCustomFormatField; + } + set + { + this.primaryIdentifierCustomFormatField = value; + } + } + } + + public enum DefaultReferenceModeNamingTypeTargetKind + { + + /// + General, + + /// + Popular, + + /// + UnitBased, + } + + public enum EffectiveNamingChoiceType + { + + /// + ValueTypeName, + + /// + EntityTypeName, + + /// + ReferenceModeName, + + /// + CustomFormat, + } + + public partial class RecognizedPhrasesType + { + + private List recognizedPhraseField; + + public RecognizedPhrasesType() + { + this.recognizedPhraseField = new List(); + } + + public List RecognizedPhrase + { + get + { + return this.recognizedPhraseField; + } + set + { + this.recognizedPhraseField = value; + } + } + } + + public partial class GroupsType + { + + private List groupField; + + public GroupsType() + { + this.groupField = new List(); + } + + public List Group + { + get + { + return this.groupField; + } + set + { + this.groupField = value; + } + } + } + + public partial class GroupTypesType + { + + private List groupTypeField; + + public GroupTypesType() + { + this.groupTypeField = new List(); + } + + public List GroupType + { + get + { + return this.groupTypeField; + } + set + { + this.groupTypeField = value; + } + } + } +} diff --git a/Kalliope/Core/Constraints/ConstraintRoleSequence.cs b/Kalliope/Core/Constraints/ConstraintRoleSequence.cs index 6ba549fe..170a054a 100644 --- a/Kalliope/Core/Constraints/ConstraintRoleSequence.cs +++ b/Kalliope/Core/Constraints/ConstraintRoleSequence.cs @@ -46,7 +46,7 @@ public ConstraintRoleSequence() /// This should only be instances of and not /// [Description("")] - [Property(name: "Role", aggregation: AggregationKind.Composite, multiplicity: "0..1", typeKind: TypeKind.Object, defaultValue: "", typeName: "RoleBase")] - public RoleBase Role { get; set; } + [Property(name: "Roles", aggregation: AggregationKind.Composite, multiplicity: "0..*", typeKind: TypeKind.Object, defaultValue: "", typeName: "RoleBase")] + public List Roles { get; set; } } } diff --git a/Kalliope/Core/Constraints/ConstraintRoleSequenceWithJoin.cs b/Kalliope/Core/Constraints/ConstraintRoleSequenceWithJoin.cs index 4e42b8c2..45dfcb38 100644 --- a/Kalliope/Core/Constraints/ConstraintRoleSequenceWithJoin.cs +++ b/Kalliope/Core/Constraints/ConstraintRoleSequenceWithJoin.cs @@ -28,7 +28,7 @@ namespace Kalliope.Core /// A sequence of constraint roles /// [Description("")] - [Domain(isAbstract: false, general: "OrmNamedElement")] + [Domain(isAbstract: true, general: "OrmNamedElement")] [Container(typeName: "SetConstraintWithJoin", propertyName: "RoleSequence")] public class ConstraintRoleSequenceWithJoin : OrmNamedElement { @@ -62,6 +62,6 @@ public ConstraintRoleSequenceWithJoin() /// [Description("")] [Property(name: "JoinRule", aggregation: AggregationKind.Composite, multiplicity: "0..1", typeKind: TypeKind.Object, defaultValue: "", typeName: "JoinRule")] - public ConstraintRoleSequenceJoinPath JoinRule { get; set; } + public JoinRule JoinRule { get; set; } } } diff --git a/Kalliope/Core/Constraints/ConstraintRoleSequenceWithJoinAndId.cs b/Kalliope/Core/Constraints/ConstraintRoleSequenceWithJoinAndId.cs index 7161bb7e..c458aeec 100644 --- a/Kalliope/Core/Constraints/ConstraintRoleSequenceWithJoinAndId.cs +++ b/Kalliope/Core/Constraints/ConstraintRoleSequenceWithJoinAndId.cs @@ -28,7 +28,7 @@ namespace Kalliope.Core /// A sequence of constraint roles /// [Description("")] - [Domain(isAbstract: false, general: "OrmNamedElement")] + [Domain(isAbstract: false, general: "ConstraintRoleSequenceWithJoin")] [Container(typeName: "ConstraintRoleSequences", propertyName: "RoleSequence")] public class ConstraintRoleSequenceWithJoinAndId : ConstraintRoleSequenceWithJoin { diff --git a/Kalliope/Core/Constraints/ConstraintRoleSequences.cs b/Kalliope/Core/Constraints/ConstraintRoleSequences.cs index 29160363..7885bf79 100644 --- a/Kalliope/Core/Constraints/ConstraintRoleSequences.cs +++ b/Kalliope/Core/Constraints/ConstraintRoleSequences.cs @@ -40,13 +40,13 @@ public ConstraintRoleSequences() } /// - /// Gets or sets the owned + /// Gets or sets the owned s /// /// /// This should only be instances of and not /// [Description("")] - [Property(name: "Role", aggregation: AggregationKind.Composite, multiplicity: "0..1", typeKind: TypeKind.Object, defaultValue: "", typeName: "RoleBase")] - public RoleBase Role { get; set; } + [Property(name: "RoleSequence", aggregation: AggregationKind.Composite, multiplicity: "0..*", typeKind: TypeKind.Object, defaultValue: "", typeName: "ConstraintRoleSequenceWithJoinAndId")] + public List RoleSequence { get; set; } } }