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;
 }
Example #2
0
        /// <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);
 }
Example #5
0
 /// <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));
 }