View Javadoc
1   /*
2    * Copyright (c) 2002-2025 Gargoyle Software Inc.
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    * https://www.apache.org/licenses/LICENSE-2.0
8    *
9    * Unless required by applicable law or agreed to in writing, software
10   * distributed under the License is distributed on an "AS IS" BASIS,
11   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12   * See the License for the specific language governing permissions and
13   * limitations under the License.
14   */
15  package org.htmlunit.html;
16  
17  import org.htmlunit.util.NameValuePair;
18  
19  /**
20   * An element that can have it's values sent to the server during a form submit.
21   *
22   * @author <a href="mailto:mbowler@GargoyleSoftware.com">Mike Bowler</a>
23   * @author Daniel Gredler
24   */
25  public interface SubmittableElement {
26  
27      /**
28       * <p>Returns an array of {@link NameValuePair}s that are the values that will be sent
29       * back to the server whenever this element's containing form is submitted.</p>
30       *
31       * <p>THIS METHOD IS INTENDED FOR THE USE OF THE FRAMEWORK ONLY AND SHOULD NOT
32       * BE USED BY CONSUMERS OF HTMLUNIT. USE AT YOUR OWN RISK.</p>
33       *
34       * @return the values that will be sent back to the server whenever this element's
35       *         containing form is submitted
36       */
37      NameValuePair[] getSubmitNameValuePairs();
38  
39      /**
40       * Returns the value of this element to the default value or checked state (usually what it was at
41       * the time the page was loaded, unless it has been modified via JavaScript).
42       */
43      void reset();
44  
45      /**
46       * Sets the default value to use when this element gets reset, if applicable.
47       * @param defaultValue the default value to use when this element gets reset, if applicable
48       */
49      void setDefaultValue(String defaultValue);
50  
51      /**
52       * Returns the default value to use when this element gets reset, if applicable.
53       * @return the default value to use when this element gets reset, if applicable
54       */
55      String getDefaultValue();
56  
57      /**
58       * Sets the default checked state to use when this element gets reset, if applicable.
59       * The default implementation is empty; only checkboxes and radio buttons
60       * really care what the default checked value is.
61       * @see SubmittableElement#setDefaultChecked(boolean)
62       * @see HtmlRadioButtonInput#setDefaultChecked(boolean)
63       * @see HtmlCheckBoxInput#setDefaultChecked(boolean)
64       *
65       * @param defaultChecked the default checked state to use when this element gets reset, if applicable
66       */
67      void setDefaultChecked(boolean defaultChecked);
68  
69      /**
70       * Returns the default checked state to use when this element gets reset, if applicable.
71       * @return the default checked state to use when this element gets reset, if applicable
72       */
73      boolean isDefaultChecked();
74  
75  }