public override string GetLink(TValue value, JsonLinkedContext context) { return(_linkData.GetLink(value)); }
public override void RememberOriginLink(TValue value, JsonLinkedContext context) { GetRootLinkData(context).RememberOriginLink(value, context); }
private RootLinkData GetRootLinkData(JsonLinkedContext context) { var root = GetRoot <TRoot>(context); return(_roots.GetOrAdd(root, () => new RootLinkData(this, root))); }
public override void WriteJson (JsonWriter writer, object value, JsonSerializer serializer) { writer.WriteValue(JsonLinkedContext.Get(serializer.Context).GetTypedLink(value, serializer)); }
public override string GetLink(TValue value, JsonLinkedContext context) { string link = GetRootLinkData(context).GetLink(value); return(GetRelativeLink(link, GenerateLink(context, true))); }
public RememberLinkScope (JsonLinkedContext context, object value) { _context = context; _value = value; _context.PushObject(_value); _context.RememberLink(_value); }
public virtual void RememberOriginLink(TValue value, JsonLinkedContext context) { }
void IJsonLinkProvider.RememberOriginLink(object value, JsonLinkedContext context) { RememberOriginLink((TValue)value, context); }
public abstract string GetLink(TValue value, JsonLinkedContext context);
string IJsonLinkProvider.GetLink(object value, JsonLinkedContext context) { return(GetLink((TValue)value, context)); }