/// <summary> /// Implements <see cref="IVerbalize.GetVerbalization"/> /// </summary> protected bool GetVerbalization(TextWriter writer, IDictionary<Type, IVerbalizationSets> snippetsDictionary, IVerbalizationContext verbalizationContext, VerbalizationSign sign) { // We are redirected to this point by the associated Table element ConceptType conceptType = this.ConceptType; ObjectType objectType; if (null != (objectType = ConceptTypeIsForObjectType.GetObjectType(conceptType))) { verbalizationContext.DeferVerbalization(objectType, DeferVerbalizationOptions.None, null); foreach (ConceptType alsoForConceptType in TableIsAlsoForConceptType.GetConceptType(this.Table)) { if (null != (objectType = ConceptTypeIsForObjectType.GetObjectType(alsoForConceptType))) { writer.WriteLine(); verbalizationContext.DeferVerbalization(objectType, DeferVerbalizationOptions.None, null); } } } return false; }
/// <summary> /// Implements <see cref="IVerbalize.GetVerbalization"/> /// </summary> protected bool GetVerbalization(TextWriter writer, IDictionary<Type, IVerbalizationSets> snippetsDictionary, IVerbalizationContext verbalizationContext, VerbalizationSign sign) { // We are redirected to this point by the associated Column element Column column = this.Column; bool firstWrite = true; foreach (ConceptTypeChild child in ColumnHasConceptTypeChild.GetConceptTypeChildPath(this.Column)) { foreach (FactType factType in ConceptTypeChildHasPathFactType.GetPathFactTypeCollection(child)) { if (firstWrite) { firstWrite = false; } else { writer.WriteLine(); } verbalizationContext.DeferVerbalization(factType, DeferVerbalizationOptions.MultipleVerbalizations, null); } } return false; }
/// <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; }
bool IVerbalize.GetVerbalization(TextWriter writer, IDictionary <Type, IVerbalizationSets> snippetsDictionary, IVerbalizationContext verbalizationContext, VerbalizationSign sign) { CustomPropertyDefinition propertyDefinition = myDefinition; object defaultValue = propertyDefinition.DefaultValue; verbalizationContext.BeginVerbalization(VerbalizationContent.Normal); writer.Write(string.Format( ((IVerbalizationSets <CustomPropertyVerbalizationSnippetType>)snippetsDictionary[typeof(CustomPropertyVerbalizationSnippetType)]).GetSnippet(CustomPropertyVerbalizationSnippetType.CustomPropertiesVerbalization), propertyDefinition.Name, propertyDefinition.DefaultValue.ToString(), propertyDefinition.CustomPropertyGroup.Name, propertyDefinition.Description)); return(true); }
bool IVerbalize.GetVerbalization(TextWriter writer, IDictionary<Type, IVerbalizationSets> snippetsDictionary, IVerbalizationContext verbalizationContext, VerbalizationSign sign) { CustomPropertyDefinition propertyDefinition = myDefinition; object defaultValue = propertyDefinition.DefaultValue; verbalizationContext.BeginVerbalization(VerbalizationContent.Normal); writer.Write(string.Format( ((IVerbalizationSets<CustomPropertyVerbalizationSnippetType>)snippetsDictionary[typeof(CustomPropertyVerbalizationSnippetType)]).GetSnippet(CustomPropertyVerbalizationSnippetType.CustomPropertiesVerbalization), propertyDefinition.Name, propertyDefinition.DefaultValue.ToString(), propertyDefinition.CustomPropertyGroup.Name, propertyDefinition.Description)); return true; }
/// <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); }
bool IVerbalize.GetVerbalization(TextWriter writer, IDictionary<Type, IVerbalizationSets> snippetsDictionary, IVerbalizationContext verbalizationContext, VerbalizationSign sign) { return GetVerbalization(writer, snippetsDictionary, verbalizationContext, sign); }
/// <summary> /// Implements <see cref="IVerbalize.GetVerbalization"/> /// </summary> protected bool GetVerbalization(TextWriter writer, IDictionary<Type, IVerbalizationSets> snippetsDictionary, IVerbalizationContext verbalizationContext, VerbalizationSign sign) { verbalizationContext.BeginVerbalization(VerbalizationContent.Normal); IVerbalizationSets<ReportVerbalizationSnippetType> snippets = (IVerbalizationSets<ReportVerbalizationSnippetType>)snippetsDictionary[typeof(ReportVerbalizationSnippetType)]; writer.Write(snippets.GetSnippet(myHeaderSnippet)); IList<ObjectType> objectTypes = myObjectTypeList; int objectCount = objectTypes.Count; if (objectCount != 0) { ObjectTypeVerbalizationWrapper wrapper = new ObjectTypeVerbalizationWrapper(ReportVerbalizationSnippetType.ObjectTypeListObjectTypeValueLink, null); IVerbalize verbalize = wrapper; for (int i = 0; i < objectCount; ++i) { wrapper.VerbalizationObject = objectTypes[i]; verbalize.GetVerbalization(writer, snippetsDictionary, verbalizationContext, sign); } } writer.Write(snippets.GetSnippet(myFooterSnippet)); return false; // No children to verbalize }
/// <summary> /// Provides an opportunity for a parent object to filter the /// verbalization of aggregated child verbalization implementations /// </summary> /// <param name="child">A direct or indirect child object.</param> /// <param name="sign">The preferred verbalization sign</param> /// <returns> /// Return the provided childVerbalizer to verbalize normally, null to block verbalization, or an /// alternate IVerbalize. The value is returned with a boolean option. The element will be disposed with /// this is true. /// </returns> protected CustomChildVerbalizer FilterChildVerbalizer(object child, VerbalizationSign sign) { if (child is IConstraint) { return CustomChildVerbalizer.Block; } return CustomChildVerbalizer.VerbalizeInstance(child as IVerbalize); }
/// <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 <see cref="IVerbalize.GetVerbalization"/> /// </summary> protected bool GetVerbalization(TextWriter writer, IDictionary<Type, IVerbalizationSets> snippetsDictionary, IVerbalizationContext verbalizationContext, VerbalizationSign sign) { IVerbalizationSets<ReportVerbalizationSnippetType> mySnippets = (IVerbalizationSets<ReportVerbalizationSnippetType>)snippetsDictionary[typeof(ReportVerbalizationSnippetType)]; verbalizationContext.BeginVerbalization(VerbalizationContent.Normal); writer.Write(mySnippets.GetSnippet(ReportVerbalizationSnippetType.GenericSubTypeListOpen)); ObjectTypeVerbalizationWrapper wrapper = null; IVerbalize verbalize = null; bool hasContent = false; foreach (ObjectType objectType in myObjectType.SubtypeCollection) { if (!hasContent) { wrapper = new ObjectTypeVerbalizationWrapper(ReportVerbalizationSnippetType.ObjectTypeRelationshipValueLink, objectType); verbalize = wrapper; hasContent = true; } else { wrapper.VerbalizationObject = objectType; } IVerbalize instance = new ObjectTypeVerbalizationWrapper(ReportVerbalizationSnippetType.ObjectTypeRelationshipValueLink, objectType); verbalize.GetVerbalization(writer, snippetsDictionary, verbalizationContext, sign); } if (!hasContent) { writer.Write(mySnippets.GetSnippet(ReportVerbalizationSnippetType.EmptyContentListItemSnippet)); } writer.Write(mySnippets.GetSnippet(ReportVerbalizationSnippetType.GenericSubTypeListClose)); return false; // No children to verbalize }
/// <summary> /// Implements <see cref="IVerbalize.GetVerbalization"/> /// </summary> protected bool GetVerbalization(TextWriter writer, IDictionary<Type, IVerbalizationSets> snippetsDictionary, IVerbalizationContext verbalizationContext, VerbalizationSign sign) { verbalizationContext.BeginVerbalization(VerbalizationContent.Normal); IVerbalizationSets<ReportVerbalizationSnippetType> snippets = (IVerbalizationSets<ReportVerbalizationSnippetType>)snippetsDictionary[typeof(ReportVerbalizationSnippetType)]; writer.Write(snippets.GetSnippet(mySnippet)); return true; }
/// <summary> /// Implements <see cref="IVerbalize.GetVerbalization"/> /// </summary> protected bool GetVerbalization(TextWriter writer, IDictionary<Type, IVerbalizationSets> snippetsDictionary, IVerbalizationContext verbalizationContext, VerbalizationSign sign) { ReportVerbalizationSnippetType snippetFormat = 0; if (0 != (myReportContent & VerbalizationReportContent.ObjectTypes) && 0 != (myReportContent & VerbalizationReportContent.ValidationReport)) { snippetFormat = ReportVerbalizationSnippetType.ReportDocumentContentsReplacementAll; } else if (0 == (myReportContent & VerbalizationReportContent.ObjectTypes) && 0 != (myReportContent & VerbalizationReportContent.ValidationReport)) { snippetFormat = ReportVerbalizationSnippetType.ReportDocumentContentsReplacementValidation; } else if (0 != (myReportContent & VerbalizationReportContent.ObjectTypes) && 0 == (myReportContent & VerbalizationReportContent.ValidationReport)) { snippetFormat = ReportVerbalizationSnippetType.ReportDocumentContentsReplacementObject; } verbalizationContext.BeginVerbalization(VerbalizationContent.Normal); writer.Write(string.Format(mySnippets.GetSnippet(ReportVerbalizationSnippetType.ReportDocumentContents), mySnippets.GetSnippet(snippetFormat))); return true; }
/// <summary> /// Implements <see cref="IVerbalize.GetVerbalization"/> /// </summary> protected bool GetVerbalization(TextWriter writer, IDictionary<Type, IVerbalizationSets> snippetsDictionary, IVerbalizationContext verbalizationContext, VerbalizationSign sign) { verbalizationContext.BeginVerbalization(VerbalizationContent.Normal); IVerbalizationSets<ReportVerbalizationSnippetType> snippets = (IVerbalizationSets<ReportVerbalizationSnippetType>)snippetsDictionary[typeof(ReportVerbalizationSnippetType)]; writer.Write(snippets.GetSnippet(ReportVerbalizationSnippetType.GenericListItemOpen)); writer.Write(string.Format(snippets.GetSnippet(ReportVerbalizationSnippetType.FactTypeRelationshipLinkOpen), AsFileName(myVerbalizationObject.Name))); ((IVerbalize)myVerbalizationObject).GetVerbalization(writer, snippetsDictionary, verbalizationContext, sign); writer.Write(snippets.GetSnippet(ReportVerbalizationSnippetType.FactTypeRelationshipLinkClose)); writer.Write(snippets.GetSnippet(ReportVerbalizationSnippetType.GenericListItemClose)); return false; // No children to verbalize }
/// <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)); } }
/// <summary> /// Implements <see cref="IVerbalize.GetVerbalization"/> /// </summary> protected bool GetVerbalization(TextWriter writer, IDictionary <Type, IVerbalizationSets> snippetsDictionary, IVerbalizationContext verbalizationContext, VerbalizationSign sign) { ORMCore.UniquenessConstraint constraint = UniquenessIsForUniquenessConstraint.GetUniquenessConstraint(this.Uniqueness); if (constraint != null) { verbalizationContext.DeferVerbalization(constraint, DeferVerbalizationOptions.None, null); } return(false); }
/// <summary> /// Implements <see cref="IVerbalize.GetVerbalization"/> /// </summary> protected bool GetVerbalization(TextWriter writer, IDictionary <Type, IVerbalizationSets> snippetsDictionary, IVerbalizationContext verbalizationContext, VerbalizationSign sign) { // We are redirected to this point by the associated Column element Column column = this.Column; bool firstWrite = true; foreach (ConceptTypeChild child in ColumnHasConceptTypeChild.GetConceptTypeChildPath(this.Column)) { foreach (FactType factType in ConceptTypeChildHasPathFactType.GetPathFactTypeCollection(child)) { if (firstWrite) { firstWrite = false; } else { writer.WriteLine(); } verbalizationContext.DeferVerbalization(factType, DeferVerbalizationOptions.MultipleVerbalizations, null); } } return(false); }
/// <summary> /// Implements <see cref="IVerbalize.GetVerbalization"/> /// </summary> protected bool GetVerbalization(TextWriter writer, IDictionary<Type, IVerbalizationSets> snippetsDictionary, IVerbalizationContext verbalizationContext, VerbalizationSign sign) { IVerbalizationSets<ReportVerbalizationSnippetType> mySnippets = (IVerbalizationSets<ReportVerbalizationSnippetType>)snippetsDictionary[typeof(ReportVerbalizationSnippetType)]; verbalizationContext.BeginVerbalization(VerbalizationContent.Normal); writer.Write(mySnippets.GetSnippet(ReportVerbalizationSnippetType.GenericConstraintListOpen)); ConstraintVerbalizationWrapper wrapper = new ConstraintVerbalizationWrapper(ReportVerbalizationSnippetType.FactTypeConstraintValidationListItemOpen, ReportVerbalizationSnippetType.FactTypeConstraintValidationListItemClose, null); IVerbalize verbalize = wrapper; // Internal Uniqueness Constraints if ((myReportContent & VerbalizationReportContent.InternalUniquenessConstraints) != 0) { IList<IConstraint> constraintList = myConstraintList[ConstraintType.InternalUniqueness]; int constraintCount = constraintList.Count; for (int i = 0; i < constraintCount; ++i) { wrapper.VerbalizationObject = constraintList[i]; verbalize.GetVerbalization(writer, snippetsDictionary, verbalizationContext, sign); } } // External Uniqueness Constraints if ((myReportContent & VerbalizationReportContent.ExternalUniquenessConstraints) != 0) { IList<IConstraint> constraintList = myConstraintList[ConstraintType.ExternalUniqueness]; int constraintCount = constraintList.Count; for (int i = 0; i < constraintCount; ++i) { wrapper.VerbalizationObject = constraintList[i]; verbalize.GetVerbalization(writer, snippetsDictionary, verbalizationContext, sign); } } // Frequency Constraints if ((myReportContent & VerbalizationReportContent.FrequencyConstraints) != 0) { IList<IConstraint> constraintList = myConstraintList[ConstraintType.Frequency]; int constraintCount = constraintList.Count; for (int i = 0; i < constraintCount; ++i) { wrapper.VerbalizationObject = constraintList[i]; verbalize.GetVerbalization(writer, snippetsDictionary, verbalizationContext, sign); } } // Simple Mandatory Constraints if ((myReportContent & VerbalizationReportContent.SimpleMandatoryConstraints) != 0) { IList<IConstraint> constraintList = myConstraintList[ConstraintType.SimpleMandatory]; int constraintCount = constraintList.Count; for (int i = 0; i < constraintCount; ++i) { wrapper.VerbalizationObject = constraintList[i]; verbalize.GetVerbalization(writer, snippetsDictionary, verbalizationContext, sign); } } // Disjunctive Mandatory Constraints if ((myReportContent & VerbalizationReportContent.DisjunctiveMandatoryConstraints) != 0) { IList<IConstraint> constraintList = myConstraintList[ConstraintType.DisjunctiveMandatory]; int constraintCount = constraintList.Count; for (int i = 0; i < constraintCount; ++i) { wrapper.VerbalizationObject = constraintList[i]; verbalize.GetVerbalization(writer, snippetsDictionary, verbalizationContext, sign); } } // Ring Constraints if ((myReportContent & VerbalizationReportContent.RingConstraints) != 0) { IList<IConstraint> constraintList = myConstraintList[ConstraintType.Ring]; int constraintCount = constraintList.Count; for (int i = 0; i < constraintCount; ++i) { wrapper.VerbalizationObject = constraintList[i]; verbalize.GetVerbalization(writer, snippetsDictionary, verbalizationContext, sign); } } // Equality Constraints if ((myReportContent & VerbalizationReportContent.EqualityConstraints) != 0) { IList<IConstraint> constraintList = myConstraintList[ConstraintType.Equality]; int constraintCount = constraintList.Count; for (int i = 0; i < constraintCount; ++i) { wrapper.VerbalizationObject = constraintList[i]; verbalize.GetVerbalization(writer, snippetsDictionary, verbalizationContext, sign); } } // Exclusion Constraints if ((myReportContent & VerbalizationReportContent.ExclusionConstraints) != 0) { IList<IConstraint> constraintList = myConstraintList[ConstraintType.Exclusion]; int constraintCount = constraintList.Count; for (int i = 0; i < constraintCount; ++i) { wrapper.VerbalizationObject = constraintList[i]; verbalize.GetVerbalization(writer, snippetsDictionary, verbalizationContext, sign); } } // Subset Constraints if ((myReportContent & VerbalizationReportContent.SubsetConstraints) != 0) { IList<IConstraint> constraintList = myConstraintList[ConstraintType.Subset]; int constraintCount = constraintList.Count; for (int i = 0; i < constraintCount; ++i) { wrapper.VerbalizationObject = constraintList[i]; verbalize.GetVerbalization(writer, snippetsDictionary, verbalizationContext, sign); } } writer.Write(mySnippets.GetSnippet(ReportVerbalizationSnippetType.GenericConstraintListClose)); return false; // No children to verbalize }
/// <summary> /// Implements <see cref="IVerbalize.GetVerbalization"/> /// </summary> protected bool GetVerbalization(TextWriter writer, IDictionary<Type, IVerbalizationSets> snippetsDictionary, IVerbalizationContext verbalizationContext, VerbalizationSign sign) { verbalizationContext.BeginVerbalization(VerbalizationContent.Normal); IVerbalizationSets<ReportVerbalizationSnippetType> snippets = (IVerbalizationSets<ReportVerbalizationSnippetType>)snippetsDictionary[typeof(ReportVerbalizationSnippetType)]; writer.Write(snippets.GetSnippet(ReportVerbalizationSnippetType.GenericListItemOpen)); string objectTypeName = myVerbalizationObject.Name; writer.Write(string.Format(writer.FormatProvider, snippets.GetSnippet(myObjectTypeSnippet), objectTypeName, AsFileName(objectTypeName))); writer.Write(snippets.GetSnippet(ReportVerbalizationSnippetType.GenericListItemClose)); return false; // No children to verbalize }
/// <summary> /// Implements <see cref="IVerbalize.GetVerbalization"/> /// </summary> protected bool GetVerbalization(TextWriter writer, IDictionary<Type, IVerbalizationSets> snippetsDictionary, IVerbalizationContext verbalizationContext, VerbalizationSign sign) { object verbalizationObject = this.myVerbalizationObject; if (verbalizationObject == null || verbalizationContext.AlreadyVerbalized(verbalizationObject)) { return false; } verbalizationContext.BeginVerbalization(VerbalizationContent.Normal); IVerbalizationSets<ReportVerbalizationSnippetType> snippets = (IVerbalizationSets<ReportVerbalizationSnippetType>)snippetsDictionary[typeof(ReportVerbalizationSnippetType)]; writer.Write(snippets.GetSnippet(myOpeningSnippet), TypeDescriptor.GetComponentName(verbalizationObject), TypeDescriptor.GetClassName(verbalizationObject)); verbalizationContext.DeferVerbalization(verbalizationObject, DeferVerbalizationOptions.AlwaysWriteLine, null); // This must be called before additional calls to the writer or an increased indentation will not decrease before // the close element is written. verbalizationContext.BeginVerbalization(VerbalizationContent.Normal); writer.Write(snippets.GetSnippet(myClosingSnippet)); return true; }
/// <summary> /// Implements <see cref="IVerbalize.GetVerbalization"/> /// </summary> protected bool GetVerbalization(TextWriter writer, IDictionary<Type, IVerbalizationSets> snippetsDictionary, IVerbalizationContext verbalizationContext, VerbalizationSign sign) { ORMModel model = myModel; if (model != null) { verbalizationContext.BeginVerbalization(VerbalizationContent.Normal); IVerbalizationSets<ReportVerbalizationSnippetType> snippets = (IVerbalizationSets<ReportVerbalizationSnippetType>)snippetsDictionary[typeof(ReportVerbalizationSnippetType)]; writer.Write(string.Format(writer.FormatProvider, snippets.GetSnippet(myOpenSnippet), model.Name)); verbalizationContext.DeferVerbalization(model, DeferVerbalizationOptions.AlwaysWriteLine, null); verbalizationContext.BeginVerbalization(VerbalizationContent.Normal); writer.Write(snippets.GetSnippet(myCloseSnippet)); } return false; // No children to verbalize }
/// <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 <see cref="IVerbalize.GetVerbalization"/> /// </summary> protected bool GetVerbalization(TextWriter writer, IDictionary<Type, IVerbalizationSets> snippetsDictionary, IVerbalizationContext verbalizationContext, VerbalizationSign sign) { ORMCore.UniquenessConstraint constraint = UniquenessIsForUniquenessConstraint.GetUniquenessConstraint(this.Uniqueness); if (constraint != null) { verbalizationContext.DeferVerbalization(constraint, DeferVerbalizationOptions.None, null); } return false; }
CustomChildVerbalizer IVerbalizeFilterChildren.FilterChildVerbalizer(object child, VerbalizationSign sign) { return FilterChildVerbalizer(child, sign); }
IEnumerable<CustomChildVerbalizer> IVerbalizeCustomChildren.GetCustomChildVerbalizations(IVerbalizeFilterChildren filter, VerbalizationSign sign) { return GetCustomChildVerbalizations(filter, sign); }
/// <summary> /// Provides an opportunity for a parent object to filter the /// verbalization of aggregated child verbalization implementations /// </summary> /// <param name="child">A direct or indirect child object.</param> /// <param name="sign">The preferred verbalization sign</param> /// <returns> /// Return the provided childVerbalizer to verbalize normally, null to block verbalization, or an /// alternate IVerbalize. The value is returned with a boolean option. The element will be disposed with /// this is true. /// </returns> protected CustomChildVerbalizer FilterChildVerbalizer(object child, VerbalizationSign sign) { return CustomChildVerbalizer.VerbalizeInstance(child as IVerbalize); }
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); } } } }
/// <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)); }
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)); } } } }
/// <summary> /// Implements <see cref="IVerbalize.GetVerbalization"/> /// </summary> protected bool GetVerbalization(TextWriter writer, IDictionary<Type, IVerbalizationSets> snippetsDictionary, IVerbalizationContext verbalizationContext, VerbalizationSign sign) { verbalizationContext.BeginVerbalization(VerbalizationContent.Normal); IVerbalizationSets<ReportVerbalizationSnippetType> snippets = (IVerbalizationSets<ReportVerbalizationSnippetType>)snippetsDictionary[typeof(ReportVerbalizationSnippetType)]; writer.Write(string.Format(writer.FormatProvider, snippets.GetSnippet(ReportVerbalizationSnippetType.ObjectTypePageHeader), (myVerbalizationObject as ObjectType).Name)); writer.Write(snippets.GetSnippet(ReportVerbalizationSnippetType.GenericSummaryOpen)); verbalizationContext.DeferVerbalization(myVerbalizationObject, DeferVerbalizationOptions.AlwaysWriteLine, myFilterChildren); // This must be called before additional calls to the writer or an increased indentation will not decrease before // the close element is written. verbalizationContext.BeginVerbalization(VerbalizationContent.Normal); writer.Write(snippets.GetSnippet(ReportVerbalizationSnippetType.GenericSummaryClose)); return true; }
IEnumerable <CustomChildVerbalizer> IVerbalizeCustomChildren.GetCustomChildVerbalizations(IVerbalizeFilterChildren filter, IDictionary <string, object> verbalizationOptions, VerbalizationSign sign) { return(GetCustomChildVerbalizations(filter, verbalizationOptions, sign)); }
/// <summary> /// Implements <see cref="IVerbalize.GetVerbalization"/> /// </summary> protected bool GetVerbalization(TextWriter writer, IDictionary<Type, IVerbalizationSets> snippetsDictionary, IVerbalizationContext verbalizationContext, VerbalizationSign sign) { verbalizationContext.BeginVerbalization(VerbalizationContent.Normal); IVerbalizationSets<ReportVerbalizationSnippetType> mySnippets = (IVerbalizationSets<ReportVerbalizationSnippetType>)snippetsDictionary[typeof(ReportVerbalizationSnippetType)]; IList<FactType> uniqueFactTypes = UniqueFactTypeList; int factTypeCount = uniqueFactTypes.Count; writer.Write(mySnippets.GetSnippet(ReportVerbalizationSnippetType.ObjectTypePageFactTypeListOpen)); if (factTypeCount != 0) { FactTypeVerbalizationWrapper wrapper = new FactTypeVerbalizationWrapper(null); IVerbalize verbalize = wrapper; for (int i = 0; i < factTypeCount; ++i) { wrapper.VerbalizationObject = uniqueFactTypes[i]; verbalize.GetVerbalization(writer, snippetsDictionary, verbalizationContext, sign); } } writer.Write(mySnippets.GetSnippet(ReportVerbalizationSnippetType.ObjectTypePageFactTypeListClose)); return false; // No children to verbalize }
/// <summary> /// Implements <see cref="IVerbalize.GetVerbalization"/> /// </summary> protected bool GetVerbalization(TextWriter writer, IDictionary <Type, IVerbalizationSets> snippetsDictionary, IVerbalizationContext verbalizationContext, VerbalizationSign sign) { // We are redirected to this point by the associated Table element ConceptType conceptType = this.ConceptType; ObjectType objectType; if (null != (objectType = ConceptTypeIsForObjectType.GetObjectType(conceptType))) { verbalizationContext.DeferVerbalization(objectType, DeferVerbalizationOptions.None, null); foreach (ConceptType alsoForConceptType in TableIsAlsoForConceptType.GetConceptType(this.Table)) { if (null != (objectType = ConceptTypeIsForObjectType.GetObjectType(alsoForConceptType))) { writer.WriteLine(); verbalizationContext.DeferVerbalization(objectType, DeferVerbalizationOptions.None, null); } } } return(false); }
/// <summary> /// Implements <see cref="IVerbalize.GetVerbalization"/> /// </summary> protected bool GetVerbalization(TextWriter writer, IDictionary<Type, IVerbalizationSets> snippetsDictionary, IVerbalizationContext verbalizationContext, VerbalizationSign sign) { IVerbalizationSets<ReportVerbalizationSnippetType> mySnippets = (IVerbalizationSets<ReportVerbalizationSnippetType>)snippetsDictionary[typeof(ReportVerbalizationSnippetType)]; verbalizationContext.BeginVerbalization(VerbalizationContent.Normal); writer.Write(mySnippets.GetSnippet(ReportVerbalizationSnippetType.GenericRelationshipsListOpen)); IList<ObjectType> relatedObjects = RelatedObjectList; int relatedObjectCount = relatedObjects.Count; if (relatedObjectCount != 0) { ObjectTypeVerbalizationWrapper wrapper = new ObjectTypeVerbalizationWrapper(ReportVerbalizationSnippetType.ObjectTypeValueLink, null); IVerbalize verbalize = wrapper; for (int i = 0; i < relatedObjectCount; ++i) { wrapper.VerbalizationObject = relatedObjects[i]; verbalize.GetVerbalization(writer, snippetsDictionary, verbalizationContext, sign); } } writer.Write(mySnippets.GetSnippet(ReportVerbalizationSnippetType.GenericRelationshipsListClose)); return false; // No children to verbalize }
bool IVerbalize.GetVerbalization(TextWriter writer, IDictionary <Type, IVerbalizationSets> snippetsDictionary, IVerbalizationContext verbalizationContext, VerbalizationSign sign) { return(GetVerbalization(writer, snippetsDictionary, verbalizationContext, sign)); }
/// <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)); } } }