OpenAPI.NET.OData/src/Microsoft.OpenApi.OData.Reader/Vocabulary/Capabilities/FilterExpressionRestrictionType.cs
2019-06-27 17:06:02 -07:00

45 lines
1.6 KiB
C#

// ------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License (MIT). See LICENSE in the repo root for license information.
// ------------------------------------------------------------
using Microsoft.OData.Edm.Vocabularies;
using Microsoft.OpenApi.OData.Common;
using Microsoft.OpenApi.OData.Edm;
namespace Microsoft.OpenApi.OData.Vocabulary.Capabilities
{
/// <summary>
/// Complex Type: Org.OData.Capabilities.V1.FilterExpressionRestrictionType
/// </summary>
internal class FilterExpressionRestrictionType : IRecord
{
/// <summary>
/// Gets the Path to the restricted property.
/// </summary>
public string Property { get; private set; }
/// <summary>
/// Gets the RequiresFilter value.
/// <Property Name="AllowedExpressions" Type="Capabilities.FilterExpressionType">
/// <TypeDefinition Name="FilterExpressionType" UnderlyingType="Edm.String">
/// </summary>
public string AllowedExpressions { get; private set; }
/// <summary>
/// Init the <see cref="FilterExpressionRestrictionType"/>.
/// </summary>
/// <param name="record">The input record.</param>
public void Initialize(IEdmRecordExpression record)
{
Utils.CheckArgumentNull(record, nameof(record));
// Property
Property = record.GetPropertyPath("Property");
// AllowedExpressions
AllowedExpressions = record.GetString("AllowedExpressions");
}
}
}