Пример #1
0
        /// <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));
        }
Пример #2
0
 /// <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;
 }