1 2 24 25 package org.enhydra.servlet.servlets; 26 27 import java.io.File ; 28 import java.util.StringTokenizer ; 29 30 41 class Path { 42 43 47 private String path = null; 48 49 54 Path(String p) { 55 path = cleanUpPath(p); 56 } 57 58 65 Path(String p1, String p2) { 66 path = cleanUpPath(p1); 67 path = appendPath(p2); 68 } 69 70 77 public String getUrlPath() { 78 return path; 79 } 80 81 88 public String getFilePath() { 89 return (path.replace('/', File.separatorChar)); 90 } 91 92 100 public String appendUrlPath(String p) { 101 return appendPath(p); 102 } 103 104 112 public String appendFilePath(String p) { 113 return (appendPath(p).replace('/', File.separatorChar)); 114 } 115 116 119 private String appendPath(String p) { 120 121 if (path == null) { 122 return null; 123 } 124 return (p == null ? path : path + cleanUpPath(p)); 125 } 126 127 130 private String cleanUpPath(String p) { 131 132 String tmp = p.replace('\\', '/'); 134 if (!tmp.startsWith("/")) { 135 tmp = "/" + tmp; 136 } 137 if (!tmp.endsWith("/")) { 138 tmp = tmp + "/"; 139 } 140 141 StringBuffer sb = new StringBuffer (); 144 StringTokenizer st = new StringTokenizer (tmp, "/"); 145 sb.append("/"); 146 while (st.hasMoreTokens()) { 147 String tok = st.nextToken(); 148 if (st.countTokens() > 0) { 149 sb.append(tok); 150 sb.append("/"); 151 } else if (st.countTokens() == 0) { 152 sb.append(tok); 153 } else { 154 System.err.println("ERROR:Path.cleanUpPath()"); 156 } 157 } 158 return sb.toString(); 159 } 160 161 } 162 | Popular Tags |