Source code: net/jxta/ext/config/Protocol.java
1 /*
2 * Copyright (c) 2001 Sun Microsystems, Inc. All rights
3 * reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 *
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in
14 * the documentation and/or other materials provided with the
15 * distribution.
16 *
17 * 3. The end-user documentation included with the redistribution,
18 * if any, must include the following acknowledgment:
19 * "This product includes software developed by the
20 * Sun Microsystems, Inc. for Project JXTA."
21 * Alternately, this acknowledgment may appear in the software itself,
22 * if and wherever such third-party acknowledgments normally appear.
23 *
24 * 4. The names "Sun", "Sun Microsystems, Inc.", "JXTA" and "Project JXTA"
25 * must not be used to endorse or promote products derived from this
26 * software without prior written permission. For written
27 * permission, please contact Project JXTA at http://www.jxta.org.
28 *
29 * 5. Products derived from this software may not be called "JXTA",
30 * nor may "JXTA" appear in their name, without prior written
31 * permission of Sun.
32 *
33 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
34 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
35 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
36 * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
37 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
38 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
39 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
40 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
41 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
42 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
43 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
44 * SUCH DAMAGE.
45 * ====================================================================
46 *
47 * This software consists of voluntary contributions made by many
48 * individuals on behalf of Project JXTA. For more
49 * information on Project JXTA, please see
50 * <http://www.jxta.org/>.
51 *
52 * This license is based on the BSD license adopted by the Apache Foundation.
53 *
54 * $Id: Protocol.java,v 1.4 2004/09/14 17:13:05 volkerj Exp $
55 */
56 package net.jxta.ext.config;
57
58 import java.util.ArrayList;
59 import java.util.List;
60
61 /**
62 * Description of the Class
63 *
64 * @author james todd [gonzo at jxta dot org]
65 * @version
66 * @created November 13, 2003
67 */
68 public class Protocol {
69
70 public final static String SCHEMELESS_URI_DELIMITER = "//";
71 public final static String URI_DELIMITER = ":" + SCHEMELESS_URI_DELIMITER;
72 /**
73 * Description of the Field: {@value}
74 */
75 public final static String TCP = "tcp";
76 public final static String TCP_URI = TCP + URI_DELIMITER;
77 /**
78 * Description of the Field: {@value}
79 */
80 public final static String HTTP = "http";
81 public final static String HTTP_URI = HTTP + URI_DELIMITER;
82 /**
83 * Description of the Field {@value}
84 */
85 public final static String UDP = "udp";
86 public final static String UDP_URI = UDP + URI_DELIMITER;
87 /**
88 * Description of the Field: {@value}
89 */
90 public final static String DEFAULT = TCP;
91
92
93 /**
94 * Gets the protocols attribute of the Protocol class
95 *
96 * @return The protocols value
97 */
98 public static List getProtocols() {
99 return protocols;
100 }
101
102
103 /**
104 * Gets the valid attribute of the Protocol class
105 *
106 * @param p Description of the Parameter
107 * @return The valid value
108 */
109 public static boolean isValid(String p) {
110 return p != null ?
111 getProtocols().contains(p.trim()) : false;
112 }
113
114 private static List protocols = null;
115
116 static {
117 protocols = new ArrayList();
118
119 protocols.add(TCP);
120 protocols.add(HTTP);
121 protocols.add(UDP);
122 }
123
124
125 /**
126 * Constructor for the Protocol object
127 */
128 private Protocol() { }
129 }
130