Class HalCrawler

  • All Implemented Interfaces:
    io.wcm.caravan.pipeline.JsonPipelineAction

    @ProviderType
    public final class HalCrawler
    extends Object
    implements io.wcm.caravan.pipeline.JsonPipelineAction
    Crawler walking on a HAL resource graph.
    • Field Detail

      • HEADER_CRAWLER_RELATION

        public static final String HEADER_CRAWLER_RELATION
        HTTP header for HAL link relation
        See Also:
        Constant Field Values
    • Constructor Detail

      • HalCrawler

        public HalCrawler​(HalClient client,
                          LinkExtractor linkExtractor,
                          UriParametersProvider uriParametersProvider,
                          OutputProcessor outputProcessor)
        Parameters:
        client - HAL client
        linkExtractor - Link extractor
        uriParametersProvider - URI parameter provider
        outputProcessor - Output processor
      • HalCrawler

        public HalCrawler​(HalClient client,
                          LinkExtractor linkExtractor,
                          UriParametersProvider uriParametersProvider,
                          OutputProcessor outputProcessor,
                          StopCriterion stopCriterion)
        Parameters:
        client - HAL client
        linkExtractor - Link extractor
        uriParametersProvider - URI parameter provider
        outputProcessor - Output processor
        stopCriterion - Stop Criterion
    • Method Detail

      • setCacheStrategy

        public HalCrawler setCacheStrategy​(io.wcm.caravan.pipeline.cache.CacheStrategy strategy)
        Parameters:
        strategy - The cacheStrategy to set.
        Returns:
        This crawler
      • getId

        public String getId()
        Specified by:
        getId in interface io.wcm.caravan.pipeline.JsonPipelineAction
      • execute

        public rx.Observable<io.wcm.caravan.pipeline.JsonPipelineOutput> execute​(io.wcm.caravan.pipeline.JsonPipelineOutput previousStepOutput,
                                                                                 io.wcm.caravan.pipeline.JsonPipelineContext pipelineContext)
        Specified by:
        execute in interface io.wcm.caravan.pipeline.JsonPipelineAction
      • isStopRequested

        public boolean isStopRequested()
        Returns:
        true if crawling has been stopped by the StopCriterion