1 /*
2  * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * This code is free software; you can redistribute it and/or modify it
6  * under the terms of the GNU General Public License version 2 only, as
7  * published by the Free Software Foundation.  Oracle designates this
8  * particular file as subject to the "Classpath" exception as provided
9  * by Oracle in the LICENSE file that accompanied this code.
10  *
11  * This code is distributed in the hope that it will be useful, but WITHOUT
12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14  * version 2 for more details (a copy is included in the LICENSE file that
15  * accompanied this code).
16  *
17  * You should have received a copy of the GNU General Public License version
18  * 2 along with this work; if not, write to the Free Software Foundation,
19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20  *
21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22  * or visit www.oracle.com if you need additional information or have any
23  * questions.
24  */
25 package javax.swing.text.html;
26 
27 import javax.swing.text.*;
28 import java.net.URL;
29 
30 /**
31  * FormSubmitEvent is used to notify interested
32  * parties that a form was submitted.
33  *
34  * @since 1.5
35  * @author    Denis Sharypov
36  */
37 @SuppressWarnings("serial") // Superclass is not serializable across versions
38 public class FormSubmitEvent extends HTMLFrameHyperlinkEvent {
39 
40     /**
41      * Represents an HTML form method type.
42      * <UL>
43      * <LI>{@code GET} corresponds to the GET form method</LI>
44      * <LI>{@code POST} corresponds to the POST from method</LI>
45      * </UL>
46      * @since 1.5
47      */
48     public enum MethodType {
49 
50         /**
51          * {@code GET} corresponds to the GET form method
52          */
53         GET,
54 
55         /**
56          * {@code POST} corresponds to the POST from method
57          */
58         POST
59     }
60 
61     /**
62      * Creates a new object representing an html form submit event.
63      *
64      * @param source the object responsible for the event
65      * @param type the event type
66      * @param targetURL the form action URL
67      * @param sourceElement the element that corresponds to the source
68      *                      of the event
69      * @param targetFrame the Frame to display the document in
70      * @param method the form method type
71      * @param data the form submission data
72      */
FormSubmitEvent(Object source, EventType type, URL targetURL, Element sourceElement, String targetFrame, MethodType method, String data)73     FormSubmitEvent(Object source, EventType type, URL targetURL,
74                    Element sourceElement, String targetFrame,
75                     MethodType method, String data) {
76         super(source, type, targetURL, sourceElement, targetFrame);
77         this.method = method;
78         this.data = data;
79     }
80 
81 
82     /**
83      * Gets the form method type.
84      *
85      * @return the form method type, either
86      * <code>Method.GET</code> or <code>Method.POST</code>.
87      */
getMethod()88     public MethodType getMethod() {
89         return method;
90     }
91 
92     /**
93      * Gets the form submission data.
94      *
95      * @return the string representing the form submission data.
96      */
getData()97     public String getData() {
98         return data;
99     }
100 
101     private MethodType method;
102     private String data;
103 }
104