private HydraClientFactory( ICollection <HypermediaProcessorFactory> hypermediaProcessorFactories = null, IIriTemplateExpansionStrategy iriTemplateExpansionStrategy = null, LinksPolicy?linksPolicy = null, HttpCallFacility httpCall = null) { _hypermediaProcessorInstances = new Dictionary <HypermediaProcessorFactory, IHypermediaProcessor>(); _hypermediaProcessorFactories = hypermediaProcessorFactories ?? new List <HypermediaProcessorFactory>(); _iriTemplateExpansionStrategy = iriTemplateExpansionStrategy; _linksPolicy = linksPolicy ?? LinksPolicy.Strict; _httpCall = httpCall; }
/// <summary>Initializes a new instance of the <see cref="HydraClient" /> class.</summary> /// <param name="hypermediaProcessors"> /// Hypermedia processors used for response hypermedia controls extraction. /// </param> /// <param name="iriTemplateExpansionStrategy">IRI template variable expansion strategy.</param> /// <param name="linksPolicy">Policy defining what is a considered a link.</param> /// <param name="httpCall">HTTP facility used to call remote server.</param> public HydraClient( IEnumerable <IHypermediaProcessor> hypermediaProcessors, IIriTemplateExpansionStrategy iriTemplateExpansionStrategy, LinksPolicy linksPolicy, HttpCallFacility httpCall) { _hypermediaProcessors = hypermediaProcessors ?? throw new ArgumentNullException(nameof(hypermediaProcessors)); if (!_hypermediaProcessors.Any()) { throw new ArgumentOutOfRangeException(NoHypermediaProcessors); } _iriTemplateExpansionStrategy = iriTemplateExpansionStrategy ?? throw new ArgumentNullException(nameof(iriTemplateExpansionStrategy), NoIriTemplateExpansionStrategy); _httpCall = httpCall ?? throw new ArgumentNullException(nameof(httpCall), NoHttpFacility); LinksPolicy = linksPolicy; }
private static IHypermediaProcessor CreateJsonLdHypermediaProcessor(HttpCallFacility httpCall) { Sync.WaitOne(); return(new JsonLdHypermediaProcessor(_ontologyProvider, httpCall)); }
/// <summary>Adds an HTTP requests facility component.</summary> /// <param name="httpCall">HTTP call facility to be used for remote server calls.</param> /// <returns>This instance of the <see cref="HydraClientFactory" />.</returns> public HydraClientFactory With(HttpCallFacility httpCall) { _httpCall = httpCall; return(this); }
/// <summary>Initializes a new instance of the <see cref="N3HypermediaProcessor" /> class.</summary> /// <param name="ontologyProvider">Ontology provider.</param> /// <param name="httpCall">HTTP call facility.</param> public N3HypermediaProcessor(IOntologyProvider ontologyProvider, HttpCallFacility httpCall) : base(ontologyProvider, httpCall) { }
/// <summary>Initializes a new instance of the <see cref="HypermediaProcessorBase" /> class.</summary> /// <param name="ontologyProvider">Ontology provider.</param> /// <param name="httpCall">HTTP call facility.</param> protected HypermediaProcessorBase(IOntologyProvider ontologyProvider, HttpCallFacility httpCall) { _ontologyProvider = ontologyProvider ?? throw new ArgumentNullException(nameof(ontologyProvider)); HttpCall = httpCall ?? throw new ArgumentNullException(nameof(httpCall)); }