// PRIVATE METHODS ////////////////////////////////////////////////// #region Methods private static Link GetStandardLink(IGetLinks getLinks, string rel) { Contract.Requires(getLinks != null); Contract.Requires(String.IsNullOrWhiteSpace(rel) == false); Link standardLink; return(getLinks.TryGetLink(rel, out standardLink) ? standardLink : null); }
public static DomReadOnlyLinks Create(IGetLinks getLinks) { Contract.Requires(getLinks != null && getLinks.Links != null); var links = getLinks.Links; var domReadOnlyLinks = new DomReadOnlyLinks(links); return(domReadOnlyLinks); }
public static DomReadOnlyLink Create(string rel, IGetLinks getLinks) { Contract.Requires(String.IsNullOrWhiteSpace(rel) == false); Contract.Requires(getLinks != null && getLinks.Links != null); var link = getLinks.GetLink(rel); var domReadOnlyLink = new DomReadOnlyLink(rel, link); return(domReadOnlyLink); }
public static Uri GetUri(this IGetLinks getLinks, string rel) { Contract.Requires(getLinks != null); var links = getLinks.Links; if (links != null) { return(links.GetUri(rel)); } throw new LinkNotFoundException(rel); }
public static bool TryGetUri(this IGetLinks getLinks, string rel, out Uri uri) { Contract.Requires(getLinks != null); var links = getLinks.Links; if (links != null) { return(links.TryGetUri(rel, out uri)); } uri = null; return(false); }
public static bool TryGetLink(this IGetLinks getLinks, string rel, out Link link) { Contract.Requires(getLinks != null); var links = getLinks.Links; if (links != null) { return(links.TryGetLink(rel, out link)); } link = null; return(false); }
public static bool TryGetHRef(this IGetLinks getLinks, string rel, out string hRef) { Contract.Requires(getLinks != null); var links = getLinks.Links; if (links != null) { return(links.TryGetHRef(rel, out hRef)); } hRef = null; return(false); }
public static void MapApiLinksToClrResource(this IResourceType resourceType, object clrResource, IGetLinks apiGetLinks) { Contract.Requires(resourceType != null); Contract.Requires(clrResource != null); Contract.Requires(apiGetLinks != null); var apiLinks = apiGetLinks.Links; resourceType.SetClrLinks(clrResource, apiLinks); }
public static Link SelfLink(this IGetLinks getLinks) { Contract.Requires(getLinks != null); return(GetStandardLink(getLinks, Keywords.Self)); }
// PUBLIC METHODS /////////////////////////////////////////////////// #region IGetLinks Extension Methods public static bool HasLinks(this IGetLinks getLinks) { Contract.Requires(getLinks != null); return(getLinks.Links != null); }
public static Link CanonicalLink(this IGetLinks getLinks) { Contract.Requires(getLinks != null); return(GetStandardLink(getLinks, Keywords.Canonical)); }
protected static void WriteLinks(JsonWriter writer, JsonSerializer serializer, IGetLinks getLinks) { Contract.Requires(writer != null); Contract.Requires(serializer != null); Contract.Requires(getLinks != null); if (getLinks.Links == null || getLinks.Links.Any() == false) { return; } writer.WritePropertyName(Keywords.Links); var linksJToken = JToken.FromObject(getLinks.Links, serializer); var linksJObject = (JObject)linksJToken; linksJObject.WriteTo(writer); }