View Javadoc

1   /*
2       Jiffie Plugin for Jameleon - An Internet Explorer plug-in for Jameleon
3       Copyright (C) 2004-2006 Christian W. Hargraves (engrean@hotmail.com) and
4                          Matthias Marschall (matthias@marschalls.de)
5   
6       This program is free software; you can redistribute it and/or modify
7       it under the terms of the GNU General Public License as published by
8       the Free Software Foundation; either version 2 of the License, or
9       (at your option) any later version.
10  
11      This program is distributed in the hope that it will be useful,
12      but WITHOUT ANY WARRANTY; without even the implied warranty of
13      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14      GNU General Public License for more details.
15  
16      You should have received a copy of the GNU General Public License
17      along with this program; if not, write to the Free Software
18      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  */
20  package net.sf.jameleon.plugin.jiffie.tags;
21  
22  /***
23   * This action point sets the value of any password field in form or not.
24   * 
25   * Some example uses might be:
26   * 
27   * Setting the value of <input type="password" name="passwordField1"</a>
28   * <pre><source>
29   *  &lt;ie-set-password-field functionId="Set a password field in a given form to 'joe'" 
30   *       name="passwordField1" 
31   *       value="joe"
32   *       form="testForm"/&gt;
33   * </source></pre>
34   * NOTE: <b>This tag does not currently support the xpath attribute nor the nested ie-attribute tags.</b>
35   * @jameleon.function name="ie-set-password-field" type="action"
36   * @jameleon.step Find the given form and set it as the working form
37   * @jameleon.step Find the given text field and set it's value
38   */
39  public class IESetPasswordFieldTag extends IEFireEventTag {
40  
41      /***
42       * The name of the text field
43       * @jameleon.attribute required="true" contextName="ieSetPasswordFieldName"
44       */
45      protected String name;
46  
47      /***
48       * The value to set the text field to
49       * @jameleon.attribute required="true" contextName="ieSetPasswordFieldValue"
50       */
51      protected String value;
52  
53      /***
54       * The name, id or index of the field
55       * @jameleon.attribute contextName="ieSetPasswordFieldForm"
56       */
57      protected String form;
58  
59      public void testBlock() {
60          if (htmlElement != null ||
61              xpath != null ||
62              getParamLength() > 0) {
63              throw new RuntimeException("htmlElement, xpath and ie-attribute are not supported by this tag");
64          }
65          setWorkingForm(form);
66          fireEvent(setPasswordFieldValue(name, value));
67      }
68  }