KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jpublish > util > uri > InternalURI


1 /*--
2
3  Copyright (C) 2001-2003 Aetrion LLC.
4  All rights reserved.
5  
6  Redistribution and use in source and binary forms, with or without
7  modification, are permitted provided that the following conditions
8  are met:
9  
10  1. Redistributions of source code must retain the above copyright
11     notice, this list of conditions, and the following disclaimer.
12  
13  2. Redistributions in binary form must reproduce the above copyright
14     notice, this list of conditions, and the disclaimer that follows
15     these conditions in the documentation and/or other materials
16     provided with the distribution.
17
18  3. The name "JPublish" must not be used to endorse or promote products
19     derived from this software without prior written permission. For
20     written permission, please contact info@aetrion.com.
21  
22  4. Products derived from this software may not be called "JPublish", nor
23     may "JPublish" appear in their name, without prior written permission
24     from Aetrion LLC (info@aetrion.com).
25  
26  In addition, the authors of this software request (but do not require)
27  that you include in the end-user documentation provided with the
28  redistribution and/or in the software itself an acknowledgement equivalent
29  to the following:
30      "This product includes software developed by
31       Aetrion LLC (http://www.aetrion.com/)."
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 AUTHOR(S) BE LIABLE FOR ANY DIRECT,
37  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
38  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
39  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
40  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
41  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
42  IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
43  POSSIBILITY OF SUCH DAMAGE.
44
45  For more information on JPublish, please see <http://www.jpublish.org/>.
46  
47  */

48
49 package org.jpublish.util.uri;
50
51 /**
52  * Object representation of an internal JPublish URI.
53  *
54  * @author Anthony Eden
55  * @since 2.0
56  */

57
58 public class InternalURI {
59
60     public static final String JavaDoc PROTOCOL_SEPARATOR = ":";
61     public static final String JavaDoc URI_SEPARATOR = "://";
62
63     protected String JavaDoc protocol;
64     protected String JavaDoc path;
65
66     /**
67      * Get the URI protocol.
68      *
69      * @return The protocol
70      */

71
72     public String JavaDoc getProtocol() {
73         return protocol;
74     }
75
76     /**
77      * Set the URI protocol.
78      *
79      * @param protocol The new protocol
80      */

81
82     public void setProtocol(String JavaDoc protocol) {
83         this.protocol = protocol;
84     }
85
86     /**
87      * Get the URI path.
88      *
89      * @return The path
90      */

91
92     public String JavaDoc getPath() {
93         return path;
94     }
95
96     /**
97      * Set the URI path.
98      *
99      * @param path The URI path
100      */

101
102     public void setPath(String JavaDoc path) {
103         this.path = path;
104     }
105
106     /**
107      * Construct a String version of the URI. This method should be overloaded by implementations to provide specific
108      * URI construction behavior.
109      *
110      * @return The URI as a String
111      */

112
113     public String JavaDoc toURI() {
114         StringBuffer JavaDoc buffer = new StringBuffer JavaDoc();
115         buffer.append(protocol);
116         buffer.append(URI_SEPARATOR);
117         buffer.append(path);
118         return buffer.toString();
119     }
120
121     /**
122      * Set the URI to the specified String. Invoking this method will parse the specified String. This method should
123      * overloaded by implementations to provide the specific URI parsing behavior.
124      *
125      * @param uriString The URI string
126      */

127
128     public void setURI(String JavaDoc uriString) {
129         int protocolTerminatorIndex = uriString.indexOf(PROTOCOL_SEPARATOR);
130
131         protocol = uriString.substring(0, protocolTerminatorIndex);
132         path = uriString.substring(protocolTerminatorIndex +
133                 URI_SEPARATOR.length());
134     }
135
136 }
137
Popular Tags