// PUBLIC CONSTRUCTORS ////////////////////////////////////////////// #region Constructors public ApiCollectionType(IApiType apiItemType, ApiTypeModifiers apiItemTypeModifiers) { Contract.Requires(apiItemType != null); this.ApiItemTypeResolver = new ApiSimpleTypeResolver(apiItemType); this.ApiItemTypeModifiers = apiItemTypeModifiers; }
// PUBLIC METHODS /////////////////////////////////////////////////// #region Factory Methods public static ApiCollectionType CreateApiCollectionType(IApiType apiItemType, ApiTypeModifiers apiItemTypeModifiers) { Contract.Requires(apiItemType != null); var apiCollectionType = new ApiCollectionType(apiItemType, apiItemTypeModifiers); return(apiCollectionType); }
// PUBLIC CONSTRUCTORS ////////////////////////////////////////////// #region Constructors public ApiRelationship(IApiProperty apiProperty, ApiRelationshipCardinality apiCardinality, IApiType apiRelatedType) { Contract.Requires(apiProperty != null); Contract.Requires(apiRelatedType != null); this.ApiProperty = apiProperty; this.ApiCardinality = apiCardinality; this.ApiRelatedTypeResolver = new ApiSimpleTypeResolver(apiRelatedType); }
public static ApiRelationship CreateApiRelationship(IApiProperty apiProperty, ApiRelationshipCardinality apiCardinality, IApiType apiRelatedType) { Contract.Requires(apiProperty != null); var apiRelationship = new ApiRelationship(apiProperty, apiCardinality, apiRelatedType); return(apiRelationship); }
// PUBLIC CONSTRUCTORS ////////////////////////////////////////////// #region Constructors public ApiProperty(string apiName, string apiDescription, IApiType apiType, ApiTypeModifiers apiTypeModifiers, string clrName) { Contract.Requires(apiName.SafeHasContent()); Contract.Requires(apiType != null); Contract.Requires(clrName.SafeHasContent()); this.ApiName = apiName; this.ApiDescription = apiDescription; this.ApiTypeResolver = new ApiSimpleTypeResolver(apiType); this.ApiTypeModifiers = apiTypeModifiers; this.ClrName = clrName; }
public static ApiProperty CreateApiProperty(string apiName, string apiDescription, IApiType apiType, ApiTypeModifiers apiTypeModifiers, string clrName) { Contract.Requires(apiName.SafeHasContent()); Contract.Requires(apiType != null); Contract.Requires(clrName.SafeHasContent()); var apiProperty = new ApiProperty(apiName, apiDescription, apiType, apiTypeModifiers, clrName); return(apiProperty); }
public void VisitApiType(IApiType apiType, int depth) { Contract.Requires(apiType != null); this.AddIndentToString(depth); var apiTypeKind = apiType.ApiTypeKind; switch (apiTypeKind) { case ApiTypeKind.Collection: { break; } case ApiTypeKind.Enumeration: { var apiEnumerationType = (IApiEnumerationType)apiType; var description = apiEnumerationType.ToString(); this.AddDescriptionToString(description); var apiEnumerationValues = apiEnumerationType.ApiEnumerationValues.Cast <ApiEnumerationValue>(); foreach (var apiEnumerationValue in apiEnumerationValues) { apiEnumerationValue.Accept(this, depth + 1); } break; } case ApiTypeKind.Scalar: { var description = apiType.ToString(); this.AddDescriptionToString(description); break; } case ApiTypeKind.Object: { var apiObjectType = (IApiObjectType)apiType; var description = apiObjectType.ToString(); this.AddDescriptionToString(description); var apiProperties = apiObjectType.ApiProperties.Cast <ApiProperty>(); foreach (var apiProperty in apiProperties) { apiProperty.Accept(this, depth + 1); } var apiIdentity = (ApiIdentity)apiObjectType.ApiIdentity; apiIdentity?.Accept(this, depth + 1); var apiRelationships = apiObjectType.ApiRelationships.Cast <ApiRelationship>(); foreach (var apiRelationship in apiRelationships) { apiRelationship.Accept(this, depth + 1); } break; } } }
// PUBLIC CONSTRUCTORS ////////////////////////////////////////////// #region Constructors public ApiSimpleTypeResolver(IApiType apiType) { Contract.Requires(apiType != null); this.ApiType = apiType; }
public ApiTypeWriter(DiffItem item, bool expandable) { this.item = item; Expandable = expandable; api = item.Item as IApiType; }
public ApiTypeWriter(DiffItem item, bool expandable) { _item = item; Expandable = expandable; _api = (item.Item as IApiType) !; }