using Umbraco.Core.Models; namespace Umbraco.Core { /// /// Provides extension methods for various enumerations. /// public static class ContentVariationExtensions { /// /// Determines whether a variation has all flags set. /// public static bool Has(this ContentVariation variation, ContentVariation values) => (variation & values) == values; /// /// Determines whether a variation has at least a flag set. /// public static bool HasAny(this ContentVariation variation, ContentVariation values) => (variation & values) != ContentVariation.Unknown; /// /// Determines whether a variation does not support culture variations /// /// /// public static bool DoesNotSupportCulture(this ContentVariation variation) { return !variation.HasAny(ContentVariation.CultureNeutral | ContentVariation.CultureSegment); } /// /// Determines whether a variation does support culture variations /// /// /// public static bool DoesSupportCulture(this ContentVariation variation) { return variation.HasAny(ContentVariation.CultureNeutral | ContentVariation.CultureSegment); } /// /// Determines whether a variation does not support invariant variations /// /// /// public static bool DoesNotSupportInvariant(this ContentVariation variation) { return !variation.HasAny(ContentVariation.InvariantNeutral | ContentVariation.InvariantSegment); } /// /// Determines whether a variation does support invariant variations /// /// /// public static bool DoesSupportInvariant(this ContentVariation variation) { return variation.HasAny(ContentVariation.InvariantNeutral | ContentVariation.InvariantSegment); } /// /// Determines whether a variation does not support segment variations /// /// /// public static bool DoesNotSupportSegment(this ContentVariation variation) { return !variation.HasAny(ContentVariation.InvariantSegment | ContentVariation.CultureSegment); } /// /// Determines whether a variation does not support neutral variations /// /// /// public static bool DoesNotSupportNeutral(this ContentVariation variation) { return !variation.HasAny(ContentVariation.InvariantNeutral | ContentVariation.CultureNeutral); } } }