internal bool ShouldIncludeOperationMetadata(PayloadMetadataKind.Operation kind, Func<bool> checkIfUserValue) { Debug.Assert(Enum.IsDefined(typeof(PayloadMetadataKind.Operation), kind), "Invalid enum value"); if (this.metadataParameterValue == MetadataParameterValue.Full) { return true; } if (this.metadataParameterValue == MetadataParameterValue.None) { return false; } Debug.Assert(kind == PayloadMetadataKind.Operation.Title || kind == PayloadMetadataKind.Operation.Target, "Unexpected metadata kind: " + kind); // Default case: // Operation metadata is generated based on conventions and should be left out by default, unless it was changed by the user. // This is specifically the case for the operations's Title and Target. Debug.Assert(checkIfUserValue != null, "checkIfUserValue != null"); return checkIfUserValue(); }
internal bool ShouldIncludeFeedMetadata(PayloadMetadataKind.Feed kind) { Debug.Assert(Enum.IsDefined(typeof(PayloadMetadataKind.Feed), kind), "Invalid enum value"); if (this.metadataParameterValue == MetadataParameterValue.Full) { return true; } if (this.metadataParameterValue == MetadataParameterValue.None) { return false; } Debug.Assert(this.metadataParameterValue == MetadataParameterValue.Minimal, "Unexpected metadata parameter value: " + this.metadataParameterValue); Debug.Assert(kind == PayloadMetadataKind.Feed.Id, "Unexpected metadata kind: " + kind); // Default case: // Feed Ids are generated based on conventions and should be left out by default. return false; }
internal bool ShouldIncludeStreamMetadata(PayloadMetadataKind.Stream kind) { Debug.Assert(Enum.IsDefined(typeof(PayloadMetadataKind.Stream), kind), "Invalid enum value"); if (this.metadataParameterValue == MetadataParameterValue.Full) { return true; } if (this.metadataParameterValue == MetadataParameterValue.None) { return false; } Debug.Assert(this.metadataParameterValue == MetadataParameterValue.Minimal, "Unexpected metadata parameter value: " + this.metadataParameterValue); Debug.Assert( kind == PayloadMetadataKind.Stream.ContentType || kind == PayloadMetadataKind.Stream.ETag || kind == PayloadMetadataKind.Stream.EditLink || kind == PayloadMetadataKind.Stream.ReadLink, "Unexpected metadata kind: " + kind); // Default case: // Most stream metadata is generated by the custom provider and cannot be computed client-side, and must be included by default. // This is specifically the case for the streams's Content-Type, Read-Link, and ETag. // However, the stream's edit-link is generated based on conventions and should be left out by default. return kind != PayloadMetadataKind.Stream.EditLink; }
internal bool ShouldIncludeAssociationMetadata(PayloadMetadataKind.Association kind) { Debug.Assert(Enum.IsDefined(typeof(PayloadMetadataKind.Association), kind), "Invalid enum value"); if (this.metadataParameterValue == MetadataParameterValue.Full) { return true; } if (this.metadataParameterValue == MetadataParameterValue.None) { return false; } Debug.Assert(this.metadataParameterValue == MetadataParameterValue.Minimal, "Unexpected metadata parameter value: " + this.metadataParameterValue); Debug.Assert(kind == PayloadMetadataKind.Association.Url, "Unexpected metadata kind: " + kind); // Default case: // Association link metadata is generated based on conventions and should be left out by default. // This is specifically the case for the links's Url. return false; }
internal bool ShouldIncludeEntryMetadata(PayloadMetadataKind.Entry kind) { Debug.Assert(Enum.IsDefined(typeof(PayloadMetadataKind.Entry), kind), "Invalid enum value"); Debug.Assert(kind != PayloadMetadataKind.Entry.TypeName, "Must use other helper method 'ShouldIncludeEntryTypeName' instead"); if (this.metadataParameterValue == MetadataParameterValue.Full) { return true; } if (this.metadataParameterValue == MetadataParameterValue.None) { return false; } Debug.Assert(this.metadataParameterValue == MetadataParameterValue.Minimal, "Unexpected metadata parameter value: " + this.metadataParameterValue); Debug.Assert( kind == PayloadMetadataKind.Entry.Id || kind == PayloadMetadataKind.Entry.ETag || kind == PayloadMetadataKind.Entry.EditLink, "Unexpected metadata kind: " + kind); if (kind == PayloadMetadataKind.Entry.ETag) { return true; } // Default case: // Entry-metadata is generated based on conventions and should be left out by default. // This is specifically the case for the entity's Id and Edit-Link. return false; }