Class TableauCrawler.TableauCrawlerBuilder<C extends TableauCrawler,B extends TableauCrawler.TableauCrawlerBuilder<C,B>>

Enclosing class:
TableauCrawler

public abstract static class TableauCrawler.TableauCrawlerBuilder<C extends TableauCrawler,B extends TableauCrawler.TableauCrawlerBuilder<C,B>> extends AbstractCrawler.AbstractCrawlerBuilder<C,B>
  • Constructor Details

    • TableauCrawlerBuilder

      public TableauCrawlerBuilder()
  • Method Details

    • direct

      public B direct(String hostname, String site, boolean sslEnabled)
      Set up the crawler to extract directly from Tableau.
      Parameters:
      hostname - of Tableau
      site - in Tableau from which to extract
      sslEnabled - if true, use SSL for the connection, otherwise do not use SSL
      Returns:
      the builder, set up to extract directly from Tableau
    • basicAuth

      public B basicAuth(String username, String password)
      Set up the crawler to use basic authentication.
      Parameters:
      username - through which to access Tableau
      password - through which to access Tableau
      Returns:
      the builder, set up to use basic authentication
    • personalAccessToken

      public B personalAccessToken(String username, String accessToken)
      Set up the crawler to use PAT-based authentication.
      Parameters:
      username - through which to access Tableau
      accessToken - personal access token for the user, through which to access Tableau
      Returns:
      the builder, set up to use PAT-based authentication
    • include

      public B include(List<String> projects) throws InvalidRequestException
      Defines the filter for projects to include when crawling.
      Parameters:
      projects - the GUIDs of projects to include when crawling
      Returns:
      the builder, set to include only those projects specified
      Throws:
      InvalidRequestException - in the unlikely event the provided filter cannot be translated
    • exclude

      public B exclude(List<String> projects) throws InvalidRequestException
      Defines the filter for projects to exclude when crawling.
      Parameters:
      projects - the GUIDs of projects to exclude when crawling
      Returns:
      the builder, set to exclude only those projects specified
      Throws:
      InvalidRequestException - in the unlikely event the provided filter cannot be translated
    • exclude

      public B exclude(String regex)
      Defines a regular expression to use for excluding projects when crawling.
      Parameters:
      regex - any project names that match this regular expression will be excluded from crawling
      Returns:
      the builder, set to exclude any assets that match the provided regular expression
    • crawlHiddenFields

      public B crawlHiddenFields(boolean enabled)
      Whether to crawl hidden datasource fields (true) or not.
      Parameters:
      enabled - if true, hidden datasource fields will be crawled otherwise they will not
      Returns:
      the builder, set to include or exclude hidden datasource fields
    • crawlUnpublished

      public B crawlUnpublished(boolean enabled)
      Whether to crawl unpublished worksheets and dashboards (true) or not.
      Parameters:
      enabled - if true, unpublished worksheets and dashboards will be crawled otherwise they will not
      Returns:
      the builder, set to include or exclude unpublished worksheets and dashboards
    • alternateHost

      public B alternateHost(String hostname)
      Set an alternate host to use for the "View in Tableau" button for assets in the UI.
      Parameters:
      hostname - alternate hostname (and protocol) to use
      Returns:
      the builder, set to use an alternate host for viewing assets in Tableau
    • metadata

      protected B metadata()
      Set all the metadata for the package (labels, annotations, etc).
      Specified by:
      metadata in class AbstractPackage.AbstractPackageBuilder<C extends TableauCrawler,B extends TableauCrawler.TableauCrawlerBuilder<C,B>>
      Returns:
      the builder, with metadata set
    • $fillValuesFrom

      protected B $fillValuesFrom(C instance)
      Overrides:
      $fillValuesFrom in class AbstractCrawler.AbstractCrawlerBuilder<C extends TableauCrawler,B extends TableauCrawler.TableauCrawlerBuilder<C,B>>
    • self

      protected abstract B self()
      Specified by:
      self in class AbstractCrawler.AbstractCrawlerBuilder<C extends TableauCrawler,B extends TableauCrawler.TableauCrawlerBuilder<C,B>>
    • build

      public abstract C build()
      Specified by:
      build in class AbstractCrawler.AbstractCrawlerBuilder<C extends TableauCrawler,B extends TableauCrawler.TableauCrawlerBuilder<C,B>>
    • toString

      public String toString()
      Overrides:
      toString in class AbstractCrawler.AbstractCrawlerBuilder<C extends TableauCrawler,B extends TableauCrawler.TableauCrawlerBuilder<C,B>>