KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > gargoylesoftware > htmlunit > SubmitMethod


1 /*
2  * Copyright (c) 2002, 2005 Gargoyle Software Inc. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions are met:
6  *
7  * 1. Redistributions of source code must retain the above copyright notice,
8  * this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright notice,
10  * this list of conditions and the following disclaimer in the documentation
11  * and/or other materials provided with the distribution.
12  * 3. The end-user documentation included with the redistribution, if any, must
13  * include the following acknowledgment:
14  *
15  * "This product includes software developed by Gargoyle Software Inc.
16  * (http://www.GargoyleSoftware.com/)."
17  *
18  * Alternately, this acknowledgment may appear in the software itself, if
19  * and wherever such third-party acknowledgments normally appear.
20  * 4. The name "Gargoyle Software" must not be used to endorse or promote
21  * products derived from this software without prior written permission.
22  * For written permission, please contact info@GargoyleSoftware.com.
23  * 5. Products derived from this software may not be called "HtmlUnit", nor may
24  * "HtmlUnit" appear in their name, without prior written permission of
25  * Gargoyle Software Inc.
26  *
27  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
28  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
29  * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GARGOYLE
30  * SOFTWARE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
31  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
32  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
33  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
34  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
35  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
36  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37  */

38 package com.gargoylesoftware.htmlunit;
39
40 /**
41  * A collection of constants that represent the various ways a page can be
42  * submitted
43  *
44  * @version $Revision: 100 $
45  * @author <a HREF="mailto:mbowler@GargoyleSoftware.com">Mike Bowler</a>
46  */

47 public final class SubmitMethod {
48     /**
49      * POST
50      */

51     public static final SubmitMethod POST = new SubmitMethod( "post" );
52     /**
53      * GET
54      */

55     public static final SubmitMethod GET = new SubmitMethod( "get" );
56
57     private final String JavaDoc name_;
58
59
60     private SubmitMethod( final String JavaDoc name ) {
61         name_ = name;
62     }
63
64
65     /**
66      * Return the name of this SubmitMethod
67      *
68      * @return See above
69      */

70     public String JavaDoc getName() {
71         return name_;
72     }
73
74
75     /**
76      * Return the constant that matches the given name
77      *
78      * @param name The name to search by
79      * @return See above
80      */

81     public static SubmitMethod getInstance( final String JavaDoc name ) {
82         final String JavaDoc lowerCaseName = name.toLowerCase();
83         final SubmitMethod allInstances[] = new SubmitMethod[]{POST, GET};
84
85         int i;
86         for( i = 0; i < allInstances.length; i++ ) {
87             if( allInstances[i].getName().equals( lowerCaseName ) ) {
88                 return allInstances[i];
89             }
90         }
91
92         // Special case: empty string defaults to get
93
if( name.equals( "" ) ) {
94             return GET;
95         }
96
97         throw new IllegalArgumentException JavaDoc( "No method found for [" + name + "]" );
98     }
99
100
101     /**
102      * Return a string representation of this object
103      *
104      * @return See above
105      */

106     public String JavaDoc toString() {
107         return "SubmitMethod[name=" + getName() + "]";
108     }
109 }
110
111
Popular Tags