Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

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