/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (https://www.swig.org).
 * Version 4.3.0
 *
 * Do not make changes to this file unless you know what you are doing - modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

package com.chilkatsoft;

public class CkSpider {
  private transient long swigCPtr;
  protected transient boolean swigCMemOwn;

  protected CkSpider(long cPtr, boolean cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = cPtr;
  }

  protected static long getCPtr(CkSpider obj) {
    return (obj == null) ? 0 : obj.swigCPtr;
  }

  protected static long swigRelease(CkSpider obj) {
    long ptr = 0;
    if (obj != null) {
      if (!obj.swigCMemOwn)
        throw new RuntimeException("Cannot release ownership as memory is not owned");
      ptr = obj.swigCPtr;
      obj.swigCMemOwn = false;
      obj.delete();
    }
    return ptr;
  }

  @SuppressWarnings({"deprecation", "removal"})
  protected void finalize() {
    delete();
  }

  public synchronized void delete() {
    if (swigCPtr != 0) {
      if (swigCMemOwn) {
        swigCMemOwn = false;
        chilkatJNI.delete_CkSpider(swigCPtr);
      }
      swigCPtr = 0;
    }
  }

  public CkSpider() {
    this(chilkatJNI.new_CkSpider(), true);
  }

  public void LastErrorXml(CkString str) {
    chilkatJNI.CkSpider_LastErrorXml(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public void LastErrorHtml(CkString str) {
    chilkatJNI.CkSpider_LastErrorHtml(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public void LastErrorText(CkString str) {
    chilkatJNI.CkSpider_LastErrorText(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public void put_EventCallbackObject(CkBaseProgress progress) {
    chilkatJNI.CkSpider_put_EventCallbackObject(swigCPtr, this, CkBaseProgress.getCPtr(progress), progress);
  }

  public boolean get_AbortCurrent() {
    return chilkatJNI.CkSpider_get_AbortCurrent(swigCPtr, this);
  }

  public void put_AbortCurrent(boolean newVal) {
    chilkatJNI.CkSpider_put_AbortCurrent(swigCPtr, this, newVal);
  }

  public boolean get_AvoidHttps() {
    return chilkatJNI.CkSpider_get_AvoidHttps(swigCPtr, this);
  }

  public void put_AvoidHttps(boolean newVal) {
    chilkatJNI.CkSpider_put_AvoidHttps(swigCPtr, this, newVal);
  }

  public void get_CacheDir(CkString str) {
    chilkatJNI.CkSpider_get_CacheDir(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String cacheDir() {
    return chilkatJNI.CkSpider_cacheDir(swigCPtr, this);
  }

  public void put_CacheDir(String newVal) {
    chilkatJNI.CkSpider_put_CacheDir(swigCPtr, this, newVal);
  }

  public boolean get_ChopAtQuery() {
    return chilkatJNI.CkSpider_get_ChopAtQuery(swigCPtr, this);
  }

  public void put_ChopAtQuery(boolean newVal) {
    chilkatJNI.CkSpider_put_ChopAtQuery(swigCPtr, this, newVal);
  }

  public int get_ConnectTimeout() {
    return chilkatJNI.CkSpider_get_ConnectTimeout(swigCPtr, this);
  }

  public void put_ConnectTimeout(int newVal) {
    chilkatJNI.CkSpider_put_ConnectTimeout(swigCPtr, this, newVal);
  }

  public void get_DebugLogFilePath(CkString str) {
    chilkatJNI.CkSpider_get_DebugLogFilePath(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String debugLogFilePath() {
    return chilkatJNI.CkSpider_debugLogFilePath(swigCPtr, this);
  }

  public void put_DebugLogFilePath(String newVal) {
    chilkatJNI.CkSpider_put_DebugLogFilePath(swigCPtr, this, newVal);
  }

  public void get_Domain(CkString str) {
    chilkatJNI.CkSpider_get_Domain(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String domain() {
    return chilkatJNI.CkSpider_domain(swigCPtr, this);
  }

  public boolean get_FetchFromCache() {
    return chilkatJNI.CkSpider_get_FetchFromCache(swigCPtr, this);
  }

  public void put_FetchFromCache(boolean newVal) {
    chilkatJNI.CkSpider_put_FetchFromCache(swigCPtr, this, newVal);
  }

  public void get_FinalRedirectUrl(CkString str) {
    chilkatJNI.CkSpider_get_FinalRedirectUrl(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String finalRedirectUrl() {
    return chilkatJNI.CkSpider_finalRedirectUrl(swigCPtr, this);
  }

  public int get_HeartbeatMs() {
    return chilkatJNI.CkSpider_get_HeartbeatMs(swigCPtr, this);
  }

  public void put_HeartbeatMs(int newVal) {
    chilkatJNI.CkSpider_put_HeartbeatMs(swigCPtr, this, newVal);
  }

  public void get_LastErrorHtml(CkString str) {
    chilkatJNI.CkSpider_get_LastErrorHtml(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String lastErrorHtml() {
    return chilkatJNI.CkSpider_lastErrorHtml(swigCPtr, this);
  }

  public void get_LastErrorText(CkString str) {
    chilkatJNI.CkSpider_get_LastErrorText(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String lastErrorText() {
    return chilkatJNI.CkSpider_lastErrorText(swigCPtr, this);
  }

  public void get_LastErrorXml(CkString str) {
    chilkatJNI.CkSpider_get_LastErrorXml(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String lastErrorXml() {
    return chilkatJNI.CkSpider_lastErrorXml(swigCPtr, this);
  }

  public boolean get_LastFromCache() {
    return chilkatJNI.CkSpider_get_LastFromCache(swigCPtr, this);
  }

  public void get_LastHtml(CkString str) {
    chilkatJNI.CkSpider_get_LastHtml(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String lastHtml() {
    return chilkatJNI.CkSpider_lastHtml(swigCPtr, this);
  }

  public void get_LastHtmlDescription(CkString str) {
    chilkatJNI.CkSpider_get_LastHtmlDescription(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String lastHtmlDescription() {
    return chilkatJNI.CkSpider_lastHtmlDescription(swigCPtr, this);
  }

  public void get_LastHtmlKeywords(CkString str) {
    chilkatJNI.CkSpider_get_LastHtmlKeywords(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String lastHtmlKeywords() {
    return chilkatJNI.CkSpider_lastHtmlKeywords(swigCPtr, this);
  }

  public void get_LastHtmlTitle(CkString str) {
    chilkatJNI.CkSpider_get_LastHtmlTitle(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String lastHtmlTitle() {
    return chilkatJNI.CkSpider_lastHtmlTitle(swigCPtr, this);
  }

  public boolean get_LastMethodSuccess() {
    return chilkatJNI.CkSpider_get_LastMethodSuccess(swigCPtr, this);
  }

  public void put_LastMethodSuccess(boolean newVal) {
    chilkatJNI.CkSpider_put_LastMethodSuccess(swigCPtr, this, newVal);
  }

  public void get_LastModDateStr(CkString str) {
    chilkatJNI.CkSpider_get_LastModDateStr(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String lastModDateStr() {
    return chilkatJNI.CkSpider_lastModDateStr(swigCPtr, this);
  }

  public void get_LastUrl(CkString str) {
    chilkatJNI.CkSpider_get_LastUrl(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String lastUrl() {
    return chilkatJNI.CkSpider_lastUrl(swigCPtr, this);
  }

  public int get_MaxResponseSize() {
    return chilkatJNI.CkSpider_get_MaxResponseSize(swigCPtr, this);
  }

  public void put_MaxResponseSize(int newVal) {
    chilkatJNI.CkSpider_put_MaxResponseSize(swigCPtr, this, newVal);
  }

  public int get_MaxUrlLen() {
    return chilkatJNI.CkSpider_get_MaxUrlLen(swigCPtr, this);
  }

  public void put_MaxUrlLen(int newVal) {
    chilkatJNI.CkSpider_put_MaxUrlLen(swigCPtr, this, newVal);
  }

  public int get_NumAvoidPatterns() {
    return chilkatJNI.CkSpider_get_NumAvoidPatterns(swigCPtr, this);
  }

  public int get_NumFailed() {
    return chilkatJNI.CkSpider_get_NumFailed(swigCPtr, this);
  }

  public int get_NumOutboundLinks() {
    return chilkatJNI.CkSpider_get_NumOutboundLinks(swigCPtr, this);
  }

  public int get_NumSpidered() {
    return chilkatJNI.CkSpider_get_NumSpidered(swigCPtr, this);
  }

  public int get_NumUnspidered() {
    return chilkatJNI.CkSpider_get_NumUnspidered(swigCPtr, this);
  }

  public boolean get_PreferIpv6() {
    return chilkatJNI.CkSpider_get_PreferIpv6(swigCPtr, this);
  }

  public void put_PreferIpv6(boolean newVal) {
    chilkatJNI.CkSpider_put_PreferIpv6(swigCPtr, this, newVal);
  }

  public void get_ProxyDomain(CkString str) {
    chilkatJNI.CkSpider_get_ProxyDomain(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String proxyDomain() {
    return chilkatJNI.CkSpider_proxyDomain(swigCPtr, this);
  }

  public void put_ProxyDomain(String newVal) {
    chilkatJNI.CkSpider_put_ProxyDomain(swigCPtr, this, newVal);
  }

  public void get_ProxyLogin(CkString str) {
    chilkatJNI.CkSpider_get_ProxyLogin(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String proxyLogin() {
    return chilkatJNI.CkSpider_proxyLogin(swigCPtr, this);
  }

  public void put_ProxyLogin(String newVal) {
    chilkatJNI.CkSpider_put_ProxyLogin(swigCPtr, this, newVal);
  }

  public void get_ProxyPassword(CkString str) {
    chilkatJNI.CkSpider_get_ProxyPassword(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String proxyPassword() {
    return chilkatJNI.CkSpider_proxyPassword(swigCPtr, this);
  }

  public void put_ProxyPassword(String newVal) {
    chilkatJNI.CkSpider_put_ProxyPassword(swigCPtr, this, newVal);
  }

  public int get_ProxyPort() {
    return chilkatJNI.CkSpider_get_ProxyPort(swigCPtr, this);
  }

  public void put_ProxyPort(int newVal) {
    chilkatJNI.CkSpider_put_ProxyPort(swigCPtr, this, newVal);
  }

  public int get_ReadTimeout() {
    return chilkatJNI.CkSpider_get_ReadTimeout(swigCPtr, this);
  }

  public void put_ReadTimeout(int newVal) {
    chilkatJNI.CkSpider_put_ReadTimeout(swigCPtr, this, newVal);
  }

  public boolean get_UpdateCache() {
    return chilkatJNI.CkSpider_get_UpdateCache(swigCPtr, this);
  }

  public void put_UpdateCache(boolean newVal) {
    chilkatJNI.CkSpider_put_UpdateCache(swigCPtr, this, newVal);
  }

  public void get_UserAgent(CkString str) {
    chilkatJNI.CkSpider_get_UserAgent(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String userAgent() {
    return chilkatJNI.CkSpider_userAgent(swigCPtr, this);
  }

  public void put_UserAgent(String newVal) {
    chilkatJNI.CkSpider_put_UserAgent(swigCPtr, this, newVal);
  }

  public boolean get_VerboseLogging() {
    return chilkatJNI.CkSpider_get_VerboseLogging(swigCPtr, this);
  }

  public void put_VerboseLogging(boolean newVal) {
    chilkatJNI.CkSpider_put_VerboseLogging(swigCPtr, this, newVal);
  }

  public void get_Version(CkString str) {
    chilkatJNI.CkSpider_get_Version(swigCPtr, this, CkString.getCPtr(str), str);
  }

  public String version() {
    return chilkatJNI.CkSpider_version(swigCPtr, this);
  }

  public boolean get_WasRedirected() {
    return chilkatJNI.CkSpider_get_WasRedirected(swigCPtr, this);
  }

  public int get_WindDownCount() {
    return chilkatJNI.CkSpider_get_WindDownCount(swigCPtr, this);
  }

  public void put_WindDownCount(int newVal) {
    chilkatJNI.CkSpider_put_WindDownCount(swigCPtr, this, newVal);
  }

  public void AddAvoidOutboundLinkPattern(String pattern) {
    chilkatJNI.CkSpider_AddAvoidOutboundLinkPattern(swigCPtr, this, pattern);
  }

  public void AddAvoidPattern(String pattern) {
    chilkatJNI.CkSpider_AddAvoidPattern(swigCPtr, this, pattern);
  }

  public void AddMustMatchPattern(String pattern) {
    chilkatJNI.CkSpider_AddMustMatchPattern(swigCPtr, this, pattern);
  }

  public void AddUnspidered(String url) {
    chilkatJNI.CkSpider_AddUnspidered(swigCPtr, this, url);
  }

  public boolean CanonicalizeUrl(String url, CkString outStr) {
    return chilkatJNI.CkSpider_CanonicalizeUrl(swigCPtr, this, url, CkString.getCPtr(outStr), outStr);
  }

  public String canonicalizeUrl(String url) {
    return chilkatJNI.CkSpider_canonicalizeUrl(swigCPtr, this, url);
  }

  public void ClearFailedUrls() {
    chilkatJNI.CkSpider_ClearFailedUrls(swigCPtr, this);
  }

  public void ClearOutboundLinks() {
    chilkatJNI.CkSpider_ClearOutboundLinks(swigCPtr, this);
  }

  public void ClearSpideredUrls() {
    chilkatJNI.CkSpider_ClearSpideredUrls(swigCPtr, this);
  }

  public boolean CrawlNext() {
    return chilkatJNI.CkSpider_CrawlNext(swigCPtr, this);
  }

  public CkTask CrawlNextAsync() {
    long cPtr = chilkatJNI.CkSpider_CrawlNextAsync(swigCPtr, this);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean FetchRobotsText(CkString outStr) {
    return chilkatJNI.CkSpider_FetchRobotsText(swigCPtr, this, CkString.getCPtr(outStr), outStr);
  }

  public String fetchRobotsText() {
    return chilkatJNI.CkSpider_fetchRobotsText(swigCPtr, this);
  }

  public CkTask FetchRobotsTextAsync() {
    long cPtr = chilkatJNI.CkSpider_FetchRobotsTextAsync(swigCPtr, this);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public boolean GetAvoidPattern(int index, CkString outStr) {
    return chilkatJNI.CkSpider_GetAvoidPattern(swigCPtr, this, index, CkString.getCPtr(outStr), outStr);
  }

  public String getAvoidPattern(int index) {
    return chilkatJNI.CkSpider_getAvoidPattern(swigCPtr, this, index);
  }

  public String avoidPattern(int index) {
    return chilkatJNI.CkSpider_avoidPattern(swigCPtr, this, index);
  }

  public boolean GetBaseDomain(String domain, CkString outStr) {
    return chilkatJNI.CkSpider_GetBaseDomain(swigCPtr, this, domain, CkString.getCPtr(outStr), outStr);
  }

  public String getBaseDomain(String domain) {
    return chilkatJNI.CkSpider_getBaseDomain(swigCPtr, this, domain);
  }

  public String baseDomain(String domain) {
    return chilkatJNI.CkSpider_baseDomain(swigCPtr, this, domain);
  }

  public boolean GetFailedUrl(int index, CkString outStr) {
    return chilkatJNI.CkSpider_GetFailedUrl(swigCPtr, this, index, CkString.getCPtr(outStr), outStr);
  }

  public String getFailedUrl(int index) {
    return chilkatJNI.CkSpider_getFailedUrl(swigCPtr, this, index);
  }

  public String failedUrl(int index) {
    return chilkatJNI.CkSpider_failedUrl(swigCPtr, this, index);
  }

  public boolean GetOutboundLink(int index, CkString outStr) {
    return chilkatJNI.CkSpider_GetOutboundLink(swigCPtr, this, index, CkString.getCPtr(outStr), outStr);
  }

  public String getOutboundLink(int index) {
    return chilkatJNI.CkSpider_getOutboundLink(swigCPtr, this, index);
  }

  public String outboundLink(int index) {
    return chilkatJNI.CkSpider_outboundLink(swigCPtr, this, index);
  }

  public boolean GetSpideredUrl(int index, CkString outStr) {
    return chilkatJNI.CkSpider_GetSpideredUrl(swigCPtr, this, index, CkString.getCPtr(outStr), outStr);
  }

  public String getSpideredUrl(int index) {
    return chilkatJNI.CkSpider_getSpideredUrl(swigCPtr, this, index);
  }

  public String spideredUrl(int index) {
    return chilkatJNI.CkSpider_spideredUrl(swigCPtr, this, index);
  }

  public boolean GetUnspideredUrl(int index, CkString outStr) {
    return chilkatJNI.CkSpider_GetUnspideredUrl(swigCPtr, this, index, CkString.getCPtr(outStr), outStr);
  }

  public String getUnspideredUrl(int index) {
    return chilkatJNI.CkSpider_getUnspideredUrl(swigCPtr, this, index);
  }

  public String unspideredUrl(int index) {
    return chilkatJNI.CkSpider_unspideredUrl(swigCPtr, this, index);
  }

  public boolean GetUrlDomain(String url, CkString outStr) {
    return chilkatJNI.CkSpider_GetUrlDomain(swigCPtr, this, url, CkString.getCPtr(outStr), outStr);
  }

  public String getUrlDomain(String url) {
    return chilkatJNI.CkSpider_getUrlDomain(swigCPtr, this, url);
  }

  public String urlDomain(String url) {
    return chilkatJNI.CkSpider_urlDomain(swigCPtr, this, url);
  }

  public void Initialize(String domain) {
    chilkatJNI.CkSpider_Initialize(swigCPtr, this, domain);
  }

  public boolean LoadTaskCaller(CkTask task) {
    return chilkatJNI.CkSpider_LoadTaskCaller(swigCPtr, this, CkTask.getCPtr(task), task);
  }

  public boolean RecrawlLast() {
    return chilkatJNI.CkSpider_RecrawlLast(swigCPtr, this);
  }

  public CkTask RecrawlLastAsync() {
    long cPtr = chilkatJNI.CkSpider_RecrawlLastAsync(swigCPtr, this);
    return (cPtr == 0) ? null : new CkTask(cPtr, true);
  }

  public void SkipUnspidered(int index) {
    chilkatJNI.CkSpider_SkipUnspidered(swigCPtr, this, index);
  }

  public void SleepMs(int numMilliseconds) {
    chilkatJNI.CkSpider_SleepMs(swigCPtr, this, numMilliseconds);
  }

}
