Skip to content

Commit 962e929

Browse files
committed
Replicate copying logic for other component types
1 parent 88adb9f commit 962e929

11 files changed

+194
-77
lines changed

src/Microsoft.OpenApi/Models/References/OpenApiCallbackReference.cs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,20 @@ namespace Microsoft.OpenApi.Models.References
1212
/// <summary>
1313
/// Callback Object Reference: A reference to a map of possible out-of band callbacks related to the parent operation.
1414
/// </summary>
15-
public class OpenApiCallbackReference : OpenApiCallback
15+
public class OpenApiCallbackReference : OpenApiCallback, IOpenApiReferenceable
1616
{
17+
#nullable enable
1718
internal OpenApiCallback _target;
1819
private readonly OpenApiReference _reference;
1920

20-
private OpenApiCallback Target
21+
/// <summary>
22+
/// Gets the target callback.
23+
/// </summary>
24+
/// <remarks>
25+
/// If the reference is not resolved, this will return null.
26+
/// </remarks>
27+
public OpenApiCallback Target
28+
#nullable restore
2129
{
2230
get
2331
{

src/Microsoft.OpenApi/Models/References/OpenApiExampleReference.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,20 @@ namespace Microsoft.OpenApi.Models.References
1212
/// <summary>
1313
/// Example Object Reference.
1414
/// </summary>
15-
public class OpenApiExampleReference : OpenApiExample
15+
public class OpenApiExampleReference : OpenApiExample, IOpenApiReferenceable
1616
{
1717
internal OpenApiExample _target;
1818
private readonly OpenApiReference _reference;
1919
private string _summary;
2020
private string _description;
2121

22-
private OpenApiExample Target
22+
/// <summary>
23+
/// Gets the target example.
24+
/// </summary>
25+
/// <remarks>
26+
/// If the reference is not resolved, this will return null.
27+
/// </remarks>
28+
public OpenApiExample Target
2329
{
2430
get
2531
{

src/Microsoft.OpenApi/Models/References/OpenApiHeaderReference.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,19 @@ namespace Microsoft.OpenApi.Models.References
1212
/// <summary>
1313
/// Header Object Reference.
1414
/// </summary>
15-
public class OpenApiHeaderReference : OpenApiHeader
15+
public class OpenApiHeaderReference : OpenApiHeader, IOpenApiReferenceable
1616
{
1717
internal OpenApiHeader _target;
1818
private readonly OpenApiReference _reference;
1919
private string _description;
2020

21-
private OpenApiHeader Target
21+
/// <summary>
22+
/// Gets the target header.
23+
/// </summary>
24+
/// <remarks>
25+
/// If the reference is not resolved, this will return null.
26+
/// </remarks>
27+
public OpenApiHeader Target
2228
{
2329
get
2430
{

src/Microsoft.OpenApi/Models/References/OpenApiLinkReference.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,19 @@ namespace Microsoft.OpenApi.Models.References
1111
/// <summary>
1212
/// Link Object Reference.
1313
/// </summary>
14-
public class OpenApiLinkReference : OpenApiLink
14+
public class OpenApiLinkReference : OpenApiLink, IOpenApiReferenceable
1515
{
1616
internal OpenApiLink _target;
1717
private readonly OpenApiReference _reference;
1818
private string _description;
1919

20-
private OpenApiLink Target
20+
/// <summary>
21+
/// Gets the target link.
22+
/// </summary>
23+
/// <remarks>
24+
/// If the reference is not resolved, this will return null.
25+
/// </remarks>
26+
public OpenApiLink Target
2127
{
2228
get
2329
{

src/Microsoft.OpenApi/Models/References/OpenApiParameterReference.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,21 @@ namespace Microsoft.OpenApi.Models.References
1212
/// <summary>
1313
/// Parameter Object Reference.
1414
/// </summary>
15-
public class OpenApiParameterReference : OpenApiParameter
15+
public class OpenApiParameterReference : OpenApiParameter, IOpenApiReferenceable
1616
{
1717
internal OpenApiParameter _target;
1818
private readonly OpenApiReference _reference;
1919
private string _description;
2020
private bool? _explode;
2121
private ParameterStyle? _style;
2222

23-
private OpenApiParameter Target
23+
/// <summary>
24+
/// Gets the target parameter.
25+
/// </summary>
26+
/// <remarks>
27+
/// If the reference is not resolved, this will return null.
28+
/// </remarks>
29+
public OpenApiParameter Target
2430
{
2531
get
2632
{

src/Microsoft.OpenApi/Models/References/OpenApiPathItemReference.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,20 @@ namespace Microsoft.OpenApi.Models.References
1111
/// <summary>
1212
/// Path Item Object Reference: to describe the operations available on a single path.
1313
/// </summary>
14-
public class OpenApiPathItemReference : OpenApiPathItem
14+
public class OpenApiPathItemReference : OpenApiPathItem, IOpenApiReferenceable
1515
{
1616
internal OpenApiPathItem _target;
1717
private readonly OpenApiReference _reference;
1818
private string _description;
1919
private string _summary;
2020

21-
private OpenApiPathItem Target
21+
/// <summary>
22+
/// Gets the target path item.
23+
/// </summary>
24+
/// <remarks>
25+
/// If the reference is not resolved, this will return null.
26+
/// </remarks>
27+
public OpenApiPathItem Target
2228
{
2329
get
2430
{

src/Microsoft.OpenApi/Models/References/OpenApiRequestBodyReference.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,19 @@ namespace Microsoft.OpenApi.Models.References
1111
/// <summary>
1212
/// Request Body Object Reference.
1313
/// </summary>
14-
public class OpenApiRequestBodyReference : OpenApiRequestBody
14+
public class OpenApiRequestBodyReference : OpenApiRequestBody, IOpenApiReferenceable
1515
{
1616
internal OpenApiRequestBody _target;
1717
private readonly OpenApiReference _reference;
1818
private string _description;
1919

20-
private OpenApiRequestBody Target
20+
/// <summary>
21+
/// Gets the target request body.
22+
/// </summary>
23+
/// <remarks>
24+
/// If the reference is not resolved, this will return null.
25+
/// </remarks>
26+
public OpenApiRequestBody Target
2127
{
2228
get
2329
{

src/Microsoft.OpenApi/Models/References/OpenApiResponseReference.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,19 @@ namespace Microsoft.OpenApi.Models.References
1111
/// <summary>
1212
/// Response Object Reference.
1313
/// </summary>
14-
public class OpenApiResponseReference : OpenApiResponse
14+
public class OpenApiResponseReference : OpenApiResponse, IOpenApiReferenceable
1515
{
1616
internal OpenApiResponse _target;
1717
private readonly OpenApiReference _reference;
1818
private string _description;
1919

20-
private OpenApiResponse Target
20+
/// <summary>
21+
/// Gets the target response.
22+
/// </summary>
23+
/// <remarks>
24+
/// If the reference is not resolved, this will return null.
25+
/// </remarks>
26+
public OpenApiResponse Target
2127
{
2228
get
2329
{

src/Microsoft.OpenApi/Models/References/OpenApiSchemaReference.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ namespace Microsoft.OpenApi.Models.References
1212
/// <summary>
1313
/// Schema reference object
1414
/// </summary>
15-
public class OpenApiSchemaReference : OpenApiSchema
15+
public class OpenApiSchemaReference : OpenApiSchema, IOpenApiReferenceable
1616
{
1717
#nullable enable
1818
private OpenApiSchema? _target;

src/Microsoft.OpenApi/Models/References/OpenApiSecuritySchemeReference.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,19 @@ namespace Microsoft.OpenApi.Models.References
1111
/// <summary>
1212
/// Security Scheme Object Reference.
1313
/// </summary>
14-
public class OpenApiSecuritySchemeReference : OpenApiSecurityScheme
14+
public class OpenApiSecuritySchemeReference : OpenApiSecurityScheme, IOpenApiReferenceable
1515
{
1616
internal OpenApiSecurityScheme _target;
1717
private readonly OpenApiReference _reference;
1818
private string _description;
1919

20-
private OpenApiSecurityScheme Target
20+
/// <summary>
21+
/// Gets the target security scheme.
22+
/// </summary>
23+
/// <remarks>
24+
/// If the reference is not resolved, this will return null.
25+
/// </remarks>
26+
public OpenApiSecurityScheme Target
2127
{
2228
get
2329
{

0 commit comments

Comments
 (0)