// ========================================================================== // Squidex Headless CMS // ========================================================================== // Copyright (c) Squidex UG (haftungsbeschränkt) // All rights reserved. Licensed under the MIT license. // ========================================================================== using System; using System.Collections; using System.Collections.Generic; using System.Linq; namespace Squidex.Domain.Apps.Core { public sealed class InvariantPartitioning : IFieldPartitioning, IFieldPartitionItem { public static readonly InvariantPartitioning Instance = new InvariantPartitioning(); public int Count { get { return 1; } } public IFieldPartitionItem Master { get { return this; } } string IFieldPartitionItem.Key { get { return "iv"; } } string IFieldPartitionItem.Name { get { return "Invariant"; } } bool IFieldPartitionItem.IsOptional { get { return false; } } IEnumerable IFieldPartitionItem.Fallback { get { return Enumerable.Empty(); } } private InvariantPartitioning() { } public bool TryGetItem(string key, out IFieldPartitionItem item) { var isFound = string.Equals(key, "iv", StringComparison.OrdinalIgnoreCase); item = isFound ? this : null; return isFound; } IEnumerator IEnumerable.GetEnumerator() { yield return this; } IEnumerator IEnumerable.GetEnumerator() { yield return this; } } }