net.i2p.router.web
Class FormHandler

java.lang.Object
  extended by net.i2p.router.web.FormHandler
Direct Known Subclasses:
ConfigAdvancedHandler, ConfigClientsHandler, ConfigHomeHandler, ConfigKeyringHandler, ConfigLoggingHandler, ConfigNetHandler, ConfigPeerHandler, ConfigReseedHandler, ConfigServiceHandler, ConfigStatsHandler, ConfigSummaryHandler, ConfigTunnelsHandler, ConfigUIHandler, ConfigUpdateHandler, EventLogHelper, GraphHelper

public abstract class FormHandler
extends Object

Simple form handler base class - does not depend on servlets or jsp, but instead the subclasses are populated with javabean properties. e.g. The form is "processed" after the properties are set and the first output property is retrieved - either getAll(), getNotices() or getErrors().


Field Summary
protected  String _action
           
protected  RouterContext _context
           
protected  Log _log
           
protected  String _method
           
protected  RequestWrapper _requestWrapper
          Only for multipart/form-data.
protected  Map _settings
          Not for multipart/form-data, will be null
 
Constructor Summary
FormHandler()
           
 
Method Summary
 String _t(String s)
          translate a string
 String _t(String s, Object o)
          translate a string with a parameter This is a lot more expensive than _t(s), so use sparingly.
 String _t(String s, Object o, Object o2)
          two params @since 0.8.2
static String _x(String s)
          Mark a string for extraction by xgettext and translation.
protected  void addFormError(String errorMsg)
          Add an error message to display Use if it does not include a link.
protected  void addFormErrorNoEscape(String msg)
          Add an error message to display Use if it includes a link or other formatting.
protected  void addFormNotice(String msg)
          Add a non-error message to display Use if it does not include a link.
protected  void addFormNoticeNoEscape(String msg)
          Add a non-error message to display Use if it includes a link or other formatting.
 String getAllMessages()
          Display everything, wrap it in a div for consistent presentation
 String getErrors()
          Display any error messages (processing the form if it hasn't been yet)
protected  String getJettyString(String key)
          setSettings() must have been called previously Curses Jetty for returning arrays.
 String getNewNonce()
          Generate a new nonce.
 String getNotices()
          Display any non-error messages (processing the form if it hasn't been yet)
 boolean isAdvanced()
          Same as HelperBase
protected  void processForm()
          Override this to perform the final processing (in turn, adding formNotice and formError messages, etc)
 void setAction(String val)
           
 void setContextId(String contextId)
          Configure this bean to query a particular router context
 void setNonce(String val)
           
 void setRequestWrapper(RequestWrapper rw)
          Only set by formhandler.jsi for multipart/form-data
 void setSettings(Map settings)
          For many forms, it's easiest just to put all the parameters here.
 void storeMethod(String val)
          Call this to prevent changes using GET
 void storeNonces(String n1, String n2)
          The old nonces from the session
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_context

protected RouterContext _context

_log

protected Log _log

_settings

protected Map _settings
Not for multipart/form-data, will be null


_requestWrapper

protected RequestWrapper _requestWrapper
Only for multipart/form-data. Warning, parameters are NOT XSS filtered


_action

protected String _action

_method

protected String _method
Constructor Detail

FormHandler

public FormHandler()
Method Detail

setContextId

public void setContextId(String contextId)
Configure this bean to query a particular router context

Parameters:
contextId - beginning few characters of the routerHash, or null to pick the first one we come across.

setNonce

public void setNonce(String val)

setAction

public void setAction(String val)

setSettings

public void setSettings(Map settings)
For many forms, it's easiest just to put all the parameters here.

Since:
0.9.4 consolidated from numerous FormHandlers

setRequestWrapper

public void setRequestWrapper(RequestWrapper rw)
Only set by formhandler.jsi for multipart/form-data

Since:
0.9.19

isAdvanced

public boolean isAdvanced()
Same as HelperBase

Since:
0.9.14.1

getJettyString

protected String getJettyString(String key)
setSettings() must have been called previously Curses Jetty for returning arrays.

Since:
0.9.4 consolidated from numerous FormHandlers

storeMethod

public void storeMethod(String val)
Call this to prevent changes using GET

Parameters:
val - the request method
Since:
0.8.2

storeNonces

public void storeNonces(String n1,
                        String n2)
The old nonces from the session

Since:
0.9.4

processForm

protected void processForm()
Override this to perform the final processing (in turn, adding formNotice and formError messages, etc)


addFormError

protected void addFormError(String errorMsg)
Add an error message to display Use if it does not include a link. Escapes '<' and '>' before queueing


addFormNotice

protected void addFormNotice(String msg)
Add a non-error message to display Use if it does not include a link. Escapes '<' and '>' before queueing


addFormNoticeNoEscape

protected void addFormNoticeNoEscape(String msg)
Add a non-error message to display Use if it includes a link or other formatting. Does not escape '<' and '>' before queueing

Since:
0.9.14.1

addFormErrorNoEscape

protected void addFormErrorNoEscape(String msg)
Add an error message to display Use if it includes a link or other formatting. Does not escape '<' and '>' before queueing

Since:
0.9.19

getAllMessages

public String getAllMessages()
Display everything, wrap it in a div for consistent presentation


getErrors

public String getErrors()
Display any error messages (processing the form if it hasn't been yet)


getNotices

public String getNotices()
Display any non-error messages (processing the form if it hasn't been yet)


getNewNonce

public String getNewNonce()
Generate a new nonce. Only call once per page!

Returns:
a new random long as a String
Since:
0.8.5

_t

public String _t(String s)
translate a string


_t

public String _t(String s,
                 Object o)
translate a string with a parameter This is a lot more expensive than _t(s), so use sparingly.

Parameters:
s - string to be translated containing {0} The {0} will be replaced by the parameter. Single quotes must be doubled, i.e. ' -> '' in the string.
o - parameter, not translated. To translate parameter also, use _t("foo {0} bar", _t("baz")) Do not double the single quotes in the parameter. Use autoboxing to call with ints, longs, floats, etc.

_t

public String _t(String s,
                 Object o,
                 Object o2)
two params @since 0.8.2


_x

public static String _x(String s)
Mark a string for extraction by xgettext and translation. Use this only in static initializers. It does not translate!

Returns:
s