Skip to content

IDataClientConfiguration

Configuration contract consumed by HttpClientBase and its concrete *DataApiClient subclasses. It carries the caller's system identity (used to compute a credential-lookup hash) and the caching behavior (whether to cache, which Polly policy key to use, and how long cached entries live).

Purpose

  • Declares the system-identity and caching settings that HttpClientBase needs when authenticating and when deciding whether to route requests through a Polly cache policy.

Context

  • Namespace: SAIF.Data.Guidewire.Clients
  • Assembly/package: SAIF.Data.Guidewire (packaged in SAIF.SAIFCode.Core)

Public members

Member Signature Purpose
SystemType SystemType SystemType { get; set; } Identifies the calling system's type, used with SystemName to compute the credential hash per SDG-BR-002
SystemName string SystemName { get; set; } Optional system name; when set, HttpClientBase uses SystemHashUtil.ComputeHash(SystemType, SystemName) instead of SystemHashUtil.Get(SystemType) to compute the credential hash
UseCache bool UseCache { get; set; } Determines whether HttpClientBase resolves a real Polly cache policy from the registry or falls back to a no-op policy, per SDG-BR-003
CachePolicyKey string CachePolicyKey { get; set; } Key used to look up the caching IAsyncPolicy in the supplied IReadOnlyPolicyRegistry<string> when UseCache is true
MaxCacheDuration TimeSpan MaxCacheDuration { get; set; } Intended maximum lifetime of cached responses*; enforced by whichever Polly policy is registered under CachePolicyKey, not by HttpClientBase itself

Behavioral notes

  • This interface only declares data; all behavior described above is implemented by consumers such as HttpClientBase and by the Polly policy registered under CachePolicyKey.

Constraints and usage notes

  • Implementations are expected to be simple data holders; the sole first-party implementation is DataClientConfiguration.
  • MaxCacheDuration's enforcement is external to this library* — the actual expiration behavior depends on how the Polly policy referenced by CachePolicyKey is configured by the consuming application.

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts.

Sources

  • Data/SAIF.Data.Guidewire/Clients/IDataClientConfiguration.cs
  • Data/SAIF.Data.Guidewire/Clients/HttpClientBase.cs