public ContentModelPropertyBuilder(ContentModelPropertyBuilder parentBuilder, GroupingInfo grouping, CodeTypeDeclaration decl, CodeTypeDeclItems declItems, GeneratedTypesVisibility visibility) : base(decl, declItems, visibility) { this.ParentBuilder = parentBuilder; this.grouping = grouping; //The grouping the contentmodelbuilder works on }
public ChoicePropertyBuilder(ContentModelPropertyBuilder parentBuilder, GroupingInfo grouping, CodeTypeDeclaration decl, CodeTypeDeclItems declItems, GeneratedTypesVisibility visibility = GeneratedTypesVisibility.Public) : base(parentBuilder, grouping, decl, declItems, visibility) { flatChoice = !grouping.IsNested && !grouping.IsRepeating && !grouping.HasChildGroups; hasDuplicateType = false; if (flatChoice) { propertyTypeNameTable = new Dictionary <string, ClrBasePropertyInfo>(); } }
public static TypePropertyBuilder Create(ContentModelPropertyBuilder parentBuilder, GroupingInfo groupingInfo, CodeTypeDeclaration decl, CodeTypeDeclItems declItems, GeneratedTypesVisibility visibility = GeneratedTypesVisibility.Public) { switch (groupingInfo.ContentModelType) { case ContentModelType.None: case ContentModelType.All: return(new DefaultPropertyBuilder(decl, declItems, visibility)); case ContentModelType.Sequence: return(new SequencePropertyBuilder(parentBuilder, groupingInfo, decl, declItems, visibility)); case ContentModelType.Choice: return(new ChoicePropertyBuilder(parentBuilder, groupingInfo, decl, declItems, visibility)); default: throw new InvalidOperationException(); } }
public SequencePropertyBuilder(ContentModelPropertyBuilder parentBuilder, GroupingInfo grouping, CodeTypeDeclaration decl, CodeTypeDeclItems declItems, GeneratedTypesVisibility visibility = GeneratedTypesVisibility.Public) : base(parentBuilder, grouping, decl, declItems, visibility) { }