org.owasp.webscarab.plugin.spider
Class Spider

java.lang.Object
  extended by org.owasp.webscarab.plugin.spider.Spider
All Implemented Interfaces:
java.lang.Runnable, ConversationHandler, Plugin

public class Spider
extends java.lang.Object
implements Plugin, ConversationHandler

Author:
rdawes

Constructor Summary
Spider(Framework framework)
          Creates a new instance of Spider
 
Method Summary
 void analyse(ConversationID id, Request request, Response response, java.lang.String origin)
           
 void clearQueue()
           
 void flush()
          called to instruct the plugin to flush any memory-only state to the store.
 NamedValue[] getExtraHeaders()
           
 SpiderModel getModel()
           
 java.lang.String getPluginName()
          The plugin name
 java.lang.Object getScriptableObject()
           
 Hook[] getScriptingHooks()
           
 java.lang.String getStatus()
          called to determine what the current status of the plugin is
 boolean isBusy()
          called to test whether the plugin is able to be stopped
 boolean isModified()
          called to determine whether the data stored within the plugin has been modified and should be saved
 boolean isRunning()
           
 void requestError(Request request, java.io.IOException ioe)
           
 void requestLinks(HttpUrl[] urls)
           
 void requestLinksUnder(HttpUrl url)
           
 void responseReceived(Response response)
           
 void run()
          starts the plugin running
 void setExtraHeaders(NamedValue[] headers)
           
 void setSession(java.lang.String type, java.lang.Object store, java.lang.String session)
          informs the plugin that the Session has changed
 void setUI(SpiderUI ui)
           
 boolean stop()
          called to suspend or stop the plugin
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Spider

public Spider(Framework framework)
Creates a new instance of Spider

Method Detail

getModel

public SpiderModel getModel()

setUI

public void setUI(SpiderUI ui)

getPluginName

public java.lang.String getPluginName()
Description copied from interface: Plugin
The plugin name

Specified by:
getPluginName in interface Plugin
Returns:
The name of the plugin

run

public void run()
Description copied from interface: Plugin
starts the plugin running

Specified by:
run in interface java.lang.Runnable
Specified by:
run in interface Plugin

responseReceived

public void responseReceived(Response response)
Specified by:
responseReceived in interface ConversationHandler

requestError

public void requestError(Request request,
                         java.io.IOException ioe)
Specified by:
requestError in interface ConversationHandler

isBusy

public boolean isBusy()
Description copied from interface: Plugin
called to test whether the plugin is able to be stopped

Specified by:
isBusy in interface Plugin
Returns:
false if the plugin can be stopped

requestLinksUnder

public void requestLinksUnder(HttpUrl url)

requestLinks

public void requestLinks(HttpUrl[] urls)

clearQueue

public void clearQueue()

setExtraHeaders

public void setExtraHeaders(NamedValue[] headers)

getExtraHeaders

public NamedValue[] getExtraHeaders()

flush

public void flush()
           throws StoreException
Description copied from interface: Plugin
called to instruct the plugin to flush any memory-only state to the store.

Specified by:
flush in interface Plugin
Throws:
StoreException - if there is any problem saving the session data

stop

public boolean stop()
Description copied from interface: Plugin
called to suspend or stop the plugin

Specified by:
stop in interface Plugin

getStatus

public java.lang.String getStatus()
Description copied from interface: Plugin
called to determine what the current status of the plugin is

Specified by:
getStatus in interface Plugin

analyse

public void analyse(ConversationID id,
                    Request request,
                    Response response,
                    java.lang.String origin)
Specified by:
analyse in interface Plugin

isModified

public boolean isModified()
Description copied from interface: Plugin
called to determine whether the data stored within the plugin has been modified and should be saved

Specified by:
isModified in interface Plugin

isRunning

public boolean isRunning()
Specified by:
isRunning in interface Plugin

setSession

public void setSession(java.lang.String type,
                       java.lang.Object store,
                       java.lang.String session)
                throws StoreException
Description copied from interface: Plugin
informs the plugin that the Session has changed

Specified by:
setSession in interface Plugin
Throws:
StoreException

getScriptableObject

public java.lang.Object getScriptableObject()
Specified by:
getScriptableObject in interface Plugin

getScriptingHooks

public Hook[] getScriptingHooks()
Specified by:
getScriptingHooks in interface Plugin