/// <summary>Expands an URI template with given variables.</summary> /// <param name="pointingResource">Pointing resource.</param> /// <param name="mappedVariables">Template variables mapping builder.</param> /// <param name="iri">Iri of the newly created instance of <typeparamref name="T" />.</param> /// <returns>Expanded templated resource.</returns> public static T ExpandTarget(IPointingResource pointingResource, Action <MappingsBuilder> mappedVariables, Iri iri) { var iriTemplate = (IIriTemplate)pointingResource.Unwrap().GetProperty(JsonLdHypermediaProcessor.IriTemplatePropertyInfo); var builder = new MappingsBuilder(iriTemplate.Mappings); mappedVariables(builder); return(ExpandTarget(pointingResource, builder.Complete(), iri)); }
/// <summary>Initializes a new instance of the <see cref="PropertyMapping" /> class.</summary> /// <param name="builder">Mappings builder.</param> /// <param name="result">Current property mappings.</param> /// <param name="mapping">IRI template mapping.</param> internal PropertyMapping( MappingsBuilder builder, IDictionary <string, string> result, IIriTemplateMapping mapping) { _builder = builder; _result = result; _mapping = mapping; }