Package com.crawljax.core.configuration
Class CrawljaxConfiguration.CrawljaxConfigurationBuilder
- java.lang.Object
-
- com.crawljax.core.configuration.CrawljaxConfiguration.CrawljaxConfigurationBuilder
-
- Enclosing class:
- CrawljaxConfiguration
public static class CrawljaxConfiguration.CrawljaxConfigurationBuilder extends Object
-
-
Field Summary
Fields Modifier and Type Field Description private CrawljaxConfigurationconfigprivate CrawlRules.CrawlRulesBuildercrawlRulesprivate com.google.common.collect.ImmutableList.Builder<Plugin>pluginBuilder
-
Constructor Summary
Constructors Modifier Constructor Description privateCrawljaxConfigurationBuilder(URI url)
-
Method Summary
-
-
-
Field Detail
-
pluginBuilder
private final com.google.common.collect.ImmutableList.Builder<Plugin> pluginBuilder
-
config
private final CrawljaxConfiguration config
-
crawlRules
private final CrawlRules.CrawlRulesBuilder crawlRules
-
-
Constructor Detail
-
CrawljaxConfigurationBuilder
private CrawljaxConfigurationBuilder(URI url)
-
-
Method Detail
-
setBasicAuth
public CrawljaxConfiguration.CrawljaxConfigurationBuilder setBasicAuth(String username, String password)
If the website uses Basic auth you can set the username and password here.- Parameters:
username- The username for the website.password- The password for the website.- Returns:
CrawljaxConfiguration.CrawljaxConfigurationBuilderfor method chaining.
-
setCrawlScope
public CrawljaxConfiguration.CrawljaxConfigurationBuilder setCrawlScope(CrawlScope crawlScope)
Sets the crawl scope.If
null, then aDefaultCrawlScopeis used.- Parameters:
crawlScope- the crawl scope- Returns:
- this
CrawljaxConfigurationBuilderfor method chaining. - Since:
- 5.0
-
setMaximumStates
public CrawljaxConfiguration.CrawljaxConfigurationBuilder setMaximumStates(int states)
- Parameters:
states- The maximum number of states the Crawler should crawl. The default is unlimited.
-
setUnlimitedStates
public CrawljaxConfiguration.CrawljaxConfigurationBuilder setUnlimitedStates()
Crawl without a maximum state limit.
-
setMaximumRunTime
public CrawljaxConfiguration.CrawljaxConfigurationBuilder setMaximumRunTime(long time, TimeUnit unit)
- Parameters:
time- The maximum time the crawler should run. Default is one hour.
-
setUnlimitedRuntime
public CrawljaxConfiguration.CrawljaxConfigurationBuilder setUnlimitedRuntime()
Set the maximum runtime to unlimited.
-
setMaximumDepth
public CrawljaxConfiguration.CrawljaxConfigurationBuilder setMaximumDepth(int depth)
- Parameters:
depth- The maximum depth the crawler can reach. The default is2.
-
setUnlimitedCrawlDepth
public CrawljaxConfiguration.CrawljaxConfigurationBuilder setUnlimitedCrawlDepth()
Set the crawl depth to unlimited. The default depth is2.
-
addPlugin
public CrawljaxConfiguration.CrawljaxConfigurationBuilder addPlugin(Plugin... plugins)
Add plugins to Crawljax. Note that without plugins, Crawljax won't give any output. For basic output at least enable the CrawlOverviewPlugin.You can call this method several times to add multiple plugins
- Parameters:
plugins- the plugins you would like to enable.
-
setProxyConfig
public CrawljaxConfiguration.CrawljaxConfigurationBuilder setProxyConfig(ProxyConfiguration configuration)
- Parameters:
configuration- The proxy configuration. Default isProxyConfiguration.noProxy()
-
crawlRules
public CrawlRules.CrawlRulesBuilder crawlRules()
- Returns:
- The
CrawlRules.CrawlRulesBuilderto define crawling rules.
-
setBrowserConfig
public CrawljaxConfiguration.CrawljaxConfigurationBuilder setBrowserConfig(BrowserConfiguration configuration)
- Parameters:
configuration- a customBrowserConfiguration. The default is a singleEmbeddedBrowser.BrowserType.FIREFOXbrowser.
-
setBrowserConfig
public CrawljaxConfiguration.CrawljaxConfigurationBuilder setBrowserConfig(BrowserConfiguration configuration, BrowserOptions options)
- Parameters:
configuration- a customBrowserConfiguration. The default is a singleEmbeddedBrowser.BrowserType.FIREFOXbrowser.
-
setStateVertexFactory
public CrawljaxConfiguration.CrawljaxConfigurationBuilder setStateVertexFactory(StateVertexFactory vertexFactory)
Set a customStateVertexFactoryto be able to use your ownStateVertexobjects. This is useful when you want to have a custom comparator in the state-flow graph which relies on theObject.hashCode()orObject.equals(Object)of theStateVertex.- Parameters:
vertexFactory- The factory you want to use.- Returns:
- The builder for method chaining.
-
setOutputDirectory
public CrawljaxConfiguration.CrawljaxConfigurationBuilder setOutputDirectory(File output)
Set the output folder for anyPluginyou might configure. Crawljax itself doesn't need an output folder but many plug-ins do.- Parameters:
output- The output folder. If it does not exist it will be created.- Throws:
IllegalStateException- if the specified file is not writable or exists but isn't a folder.
-
checkOutputDirWritable
private void checkOutputDirWritable()
-
build
public CrawljaxConfiguration build()
-
-