/// <summary> /// Adds a relation with a single link to the embedded resource. /// </summary> /// <param name="relation">How the link is related to the resource.</param> /// <param name="link">A hypermedia link.</param> /// <returns>This <see cref="IHalEmbeddedResourceBuilder"/> instance.</returns> public IHalEmbeddedResourceBuilder IncludeRelationWithSingleLink ( HalRelation relation, HalLink link ) { if (relation == null) { throw new ArgumentNullException("relation"); } if (link == null) { throw new ArgumentNullException("link"); } _linkCollection.Add(relation, link); return this; }
/// <summary> /// Adds a relation with multiple hypermedia links to the embedded resource. /// </summary> /// <param name="relation">How the link is related to the resource.</param> /// <param name="links">Hypermedia links.</param> /// <returns>This <see cref="IHalEmbeddedResourceBuilder"/> instance.</returns> public IHalEmbeddedResourceBuilder IncludeRelationWithMultipleLinks ( HalRelation relation, IEnumerable<HalLink> links) { if (relation == null) { throw new ArgumentNullException("relation"); } if (links == null) { throw new ArgumentNullException("links"); } _linkCollection.Add(relation, links); return this; }
/// <summary> /// Adds an embedded relation with multiple resources. /// </summary> /// <example> /// Sample JSON output: /// { /// "_links": { "self": { "href": "http://mysite.com/" } }, /// _embedded: { /// "orders": [ /// { /// "_links": { "self": { "href": "http://mysite.com/511/" }, /// "orderDate": "2013-01-05T13:43:22.33400000Z", /// "items": [ ... ] /// }, /// { /// "_links": { "self": { "href": "http://mysite.com/512/" }, /// "orderDate": "2013-01-05T13:45:22.55200000Z", /// "items": [ ... ] /// } /// ] /// } /// } /// </example> /// <param name="relation">How the embedded resource is related to the root resource.</param> /// <param name="embeddedResourcesresources">The embedded resources.</param> /// <returns>This <see cref="IHalDocumentBuilder"/> instance.</returns> public IHalDocumentBuilder IncludeEmbeddedWithMultipleResources ( HalRelation relation, IEnumerable<HalEmbeddedResource> embeddedResourcesresources ) { if (relation == null) { throw new ArgumentNullException("relation"); } if (embeddedResourcesresources == null) { throw new ArgumentNullException("embeddedResourcesresources"); } _embeddedResourceCollection.Add(relation, embeddedResourcesresources); return this; }
/// <summary> /// Adds a single embedded relation with a single resource to this document. /// </summary> /// <example> /// Sample JSON output: /// { /// "_links": { "self": { "href": "http://mysite.com/" } }, /// _embedded: { /// "order": { /// "_links": { "self": { "href": "http://mysite.com/{id}/", "templated": true }, /// "orderDate": "2013-01-05T13:43:22.800000Z", /// "items": [ ... ] /// } /// } /// } /// </example> /// <param name="relation">How the embedded resource is related to the root resource.</param> /// <param name="embeddedResource">The embedded resource.</param> /// <returns>This <see cref="IHalDocumentBuilder"/> instance.</returns> public IHalDocumentBuilder IncludeEmbeddedWithSingleResource ( HalRelation relation, HalEmbeddedResource embeddedResource ) { if (relation == null) { throw new ArgumentNullException("relation"); } if (embeddedResource == null) { throw new ArgumentNullException("embeddedResource"); } _embeddedResourceCollection.Add(relation, embeddedResource); return this; }