/// <summary> /// Implements <see cref="IVerbalizeCustomChildren.GetCustomChildVerbalizations"/>. /// Explicitly verbalizes extension elements /// </summary> protected IEnumerable <CustomChildVerbalizer> GetCustomChildVerbalizations(IVerbalizeFilterChildren filter, IDictionary <string, object> verbalizationOptions, VerbalizationSign sign) { foreach (ModelElement extensionElement in ExtensionCollection) { IVerbalize verbalizeExtension = extensionElement as IVerbalize; if (verbalizeExtension != null) { yield return(CustomChildVerbalizer.VerbalizeInstance(verbalizeExtension)); } } }
IEnumerable <CustomChildVerbalizer> IVerbalizeCustomChildren.GetCustomChildVerbalizations(IVerbalizeFilterChildren filter, IDictionary <string, object> verbalizationOptions, VerbalizationSign sign) { return(GetCustomChildVerbalizations(filter, verbalizationOptions, sign)); }
/// <summary> /// Implements IVerbalizeCustomChildren.GetCustomChildVerbalizations. Hides /// implementation in <see cref="FactType"/> /// </summary> protected static new IEnumerable <CustomChildVerbalizer> GetCustomChildVerbalizations(IVerbalizeFilterChildren filter, IDictionary <string, object> verbalizationOptions, VerbalizationSign sign) { yield break; }
IEnumerable <CustomChildVerbalizer> IVerbalizeExtensionChildren.GetExtensionChildVerbalizations(object parentElement, IVerbalizeFilterChildren filter, VerbalizationSign sign) { // Get the instance data local and release the cached iterator IORMExtendableElement propertyOwner = parentElement as IORMExtendableElement; if (propertyOwner != null) { PropertyDefinitionFilter propertyFilter = myPropertyFilter; LinkedElementCollection <ModelElement> extensions = null; foreach (CustomPropertyDefinition customPropertyDefinition in propertyOwner.Store.ElementDirectory.FindElements <CustomPropertyDefinition>()) { object defaultValue; string defaultValueString; if (!customPropertyDefinition.VerbalizeDefaultValue || null == (defaultValue = customPropertyDefinition.DefaultValue) || (null != (defaultValueString = defaultValue as string) && defaultValueString.Length == 0) || (propertyFilter != null && !propertyFilter(propertyOwner, customPropertyDefinition))) { continue; } bool haveMatchingProperty = false; foreach (ModelElement extensionElement in extensions ?? (extensions = propertyOwner.ExtensionCollection)) { CustomProperty customProperty = extensionElement as CustomProperty; if (customProperty != null && customProperty.CustomPropertyDefinition == customPropertyDefinition) { haveMatchingProperty = true; break; } } if (!haveMatchingProperty) { DefaultPropertyValueVerbalizer verbalizer = DefaultPropertyValueVerbalizer.GetVerbalizer(); verbalizer.Attach(customPropertyDefinition); yield return(CustomChildVerbalizer.VerbalizeInstance(verbalizer, true)); } } } }
IEnumerable<CustomChildVerbalizer> IVerbalizeExtensionChildren.GetExtensionChildVerbalizations(object parentElement, IVerbalizeFilterChildren filter, VerbalizationSign sign) { // Get the instance data local and release the cached iterator IORMExtendableElement propertyOwner = parentElement as IORMExtendableElement; if (propertyOwner != null) { PropertyDefinitionFilter propertyFilter = myPropertyFilter; LinkedElementCollection<ModelElement> extensions = null; foreach (CustomPropertyDefinition customPropertyDefinition in propertyOwner.Store.ElementDirectory.FindElements<CustomPropertyDefinition>()) { object defaultValue; if (!customPropertyDefinition.VerbalizeDefaultValue || null == (defaultValue = customPropertyDefinition.DefaultValue) || (propertyFilter != null && !propertyFilter(propertyOwner, customPropertyDefinition))) { continue; } bool haveMatchingProperty = false; foreach (ModelElement extensionElement in extensions ?? (extensions = propertyOwner.ExtensionCollection)) { CustomProperty customProperty = extensionElement as CustomProperty; if (customProperty != null && customProperty.CustomPropertyDefinition == customPropertyDefinition) { haveMatchingProperty = true; break; } } if (!haveMatchingProperty) { DefaultPropertyValueVerbalizer verbalizer = DefaultPropertyValueVerbalizer.GetVerbalizer(); verbalizer.Attach(customPropertyDefinition); yield return CustomChildVerbalizer.VerbalizeInstance(verbalizer, true); } } } }
IEnumerable<CustomChildVerbalizer> IVerbalizeCustomChildren.GetCustomChildVerbalizations(IVerbalizeFilterChildren filter, VerbalizationSign sign) { return GetCustomChildVerbalizations(filter, sign); }
/// <summary> /// Implements <see cref="IVerbalizeCustomChildren.GetCustomChildVerbalizations"/> /// Returns standalone error verbalizer. /// </summary> protected IEnumerable<CustomChildVerbalizer> GetCustomChildVerbalizations(IVerbalizeFilterChildren filter, VerbalizationSign sign) { ErrorReport verbalizer = ErrorReport.GetVerbalizer(); verbalizer.Initialize(this); yield return CustomChildVerbalizer.VerbalizeInstance(verbalizer, true); }
/// <summary> /// Initializes a new instance of FactTypeVerbalizationWrapper /// </summary> /// <param name="verbalizationObject">The verbalization object.</param> /// <param name="filter">The filter.</param> public ObjectTypePageHeaderSummary(IVerbalize verbalizationObject, IVerbalizeFilterChildren filter) { myVerbalizationObject = verbalizationObject; myFilterChildren = filter; }
/// <summary> /// Implements IVerbalizeCustomChildren.GetCustomChildVerbalizations /// </summary> /// <param name="filter">A <see cref="IVerbalizeFilterChildren"/> instance. Can be <see langword="null"/>. /// If the <see cref="IVerbalizeFilterChildren.FilterChildVerbalizer">FilterChildVerbalizer</see> method returns /// <see cref="CustomChildVerbalizer.Block"/> for any constituent components used to create a <see cref="CustomChildVerbalizer"/>, /// then that custom child should not be created</param> /// <param name="sign">The preferred verbalization sign</param> /// <returns> /// IEnumerable of CustomChildVerbalizer structures /// </returns> protected IEnumerable<CustomChildVerbalizer> GetCustomChildVerbalizations(IVerbalizeFilterChildren filter, VerbalizationSign sign) { yield return CustomChildVerbalizer.VerbalizeInstance(new VerbalizationReportTableOfContentsWrapper(myReportContent, mySnippets)); yield return CustomChildVerbalizer.VerbalizeInstance(new ModelContextWrapper(myModel, ReportVerbalizationSnippetType.ContextModelDescriptionOpen, ReportVerbalizationSnippetType.ContextModelDescriptionClose)); yield return CustomChildVerbalizer.VerbalizeInstance(new ObjectTypeListWrapper(myObjectTypeList, myHeaderSnippet, myFooterSnippet)); }
/// <summary> /// Implements IVerbalizeCustomChildren.GetCustomChildVerbalizations /// </summary> protected IEnumerable<CustomChildVerbalizer> GetCustomChildVerbalizations(IVerbalizeFilterChildren filter, VerbalizationSign sign) { yield return CustomChildVerbalizer.VerbalizeInstance(new ObjectTypePageHeaderSummary(myObjectType, filter)); yield return CustomChildVerbalizer.VerbalizeInstance(new ObjectTypePageFactTypeSection(myObjectType)); yield return CustomChildVerbalizer.VerbalizeInstance(new ObjectTypePageRelationshipSection(myObjectType)); yield return CustomChildVerbalizer.VerbalizeInstance(new GenericSuperTypeSection(myObjectType)); yield return CustomChildVerbalizer.VerbalizeInstance(new GenericSubTypeSection(myObjectType)); }
/// <summary> /// Implements IVerbalizeCustomChildren.GetCustomChildVerbalizations /// </summary> protected IEnumerable<CustomChildVerbalizer> GetCustomChildVerbalizations(IVerbalizeFilterChildren filter, VerbalizationSign sign) { yield return CustomChildVerbalizer.VerbalizeInstance(new VerbalizationReportTableOfContentsWrapper(myReportContent, mySnippets)); yield return CustomChildVerbalizer.VerbalizeInstance(new ModelContextWrapper(myModel, ReportVerbalizationSnippetType.ContextModelDescriptionOpen, ReportVerbalizationSnippetType.ContextModelDescriptionClose)); yield return CustomChildVerbalizer.VerbalizeInstance(new GenericSnippetVerbalizer(ReportVerbalizationSnippetType.FactTypeConstraintValidationHeader)); int factTypeCount = myFactTypeList.Count; for (int i = 0; i < factTypeCount; ++i) { yield return CustomChildVerbalizer.VerbalizeInstance(new FactTypePageHeaderSummary(myFactTypeList[i], filter)); yield return CustomChildVerbalizer.VerbalizeInstance(new FactTypePageObjectTypeSection(ReportVerbalizationSnippetType.ObjectTypeListObjectTypeValueLink, myFactTypeList[i])); yield return CustomChildVerbalizer.VerbalizeInstance(new ConstraintValidationSection(myReportContent, GetConstraintsFromFactType(myFactTypeList[i], myReportContent))); } yield return CustomChildVerbalizer.VerbalizeInstance(new GenericSnippetVerbalizer(ReportVerbalizationSnippetType.FactTypeConstraintValidationSignature)); }
/// <summary> /// Implements IVerbalizeCustomChildren.GetCustomChildVerbalizations /// </summary> protected IEnumerable<CustomChildVerbalizer> GetCustomChildVerbalizations(IVerbalizeFilterChildren filter, VerbalizationSign sign) { yield return CustomChildVerbalizer.VerbalizeInstance(new FactTypePageHeaderSummary(myFactType, filter)); yield return CustomChildVerbalizer.VerbalizeInstance(new FactTypePageObjectTypeSection(ReportVerbalizationSnippetType.ObjectTypeRelationshipValueLink, myFactType)); yield return CustomChildVerbalizer.VerbalizeInstance(new GenericConstraintSection(myReportContent, GetConstraintsFromFactType(myFactType, myReportContent))); if (myFactType.Objectification != null) { yield return CustomChildVerbalizer.VerbalizeInstance(new GenericSuperTypeSection(myFactType.Objectification.NestingType)); yield return CustomChildVerbalizer.VerbalizeInstance(new GenericSubTypeSection(myFactType.Objectification.NestingType)); } }