MongoDB · Types · Routing, paging cookies and capabilities

ArxProviderCapabilities

Definition

Namespace
ARX.SDK.Providers
Package
ARX.SDK
C#
public sealed class ArxProviderCapabilities : IArxProviderCapabilities

The capabilities a provider declares: a fixed set of flags with its name.

Constructor

  • ArxProviderCapabilities(string providerName, ArxCapability supported)

    A provider's declared features.

    Parameter Type Description
    providerNamestringThe provider's name, as messages show it.
    supportedArxCapabilityEvery feature it supports.

Properties

  • string ProviderName { get; }

    The provider's name, as messages show it (for example "PostgreSQL").

  • ArxCapability Supported { get; }

    Every supported feature.

Methods

  • bool Supports(ArxCapability capability)

    True when every flag in capability is supported. None is always true.

    Parameter Type Description
    capabilityArxCapabilityOne capability, or several combined with |: all must be supported.
  • void Require(ArxCapability capability, string feature, string? advice = null)

    Throws ArxNotSupportedException (ARX8001) naming feature and the provider when any flag in capability isn't supported.

    Parameter Type Description
    capabilityArxCapabilityThe features the call needs.
    featurestringWhat the call asked for, as the message names it (for example "PageInfo.PagingCookie").
    advicestring?= nullOptional: what to do instead.
  • void RequireSchemaFeatures(ArxSchemaCatalog schema)

    Throws ArxNotSupportedException (ARX8001) when schema declares something this provider can't keep: a version column (OptimisticConcurrency) without the capability. A provider calls it wherever it takes a schema (its constructor, a call's own schema), so a declaration is never silently ignored.

    Parameter Type Description
    schemaArxSchemaCatalogThe schema given to the provider; null declares nothing.
  • IReadOnlyList<ArxCapability> ToList()

    The supported features, by name.