1 /* 2 * Copyright 1999-2001,2004 The Apache Software Foundation. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package org.apache.commons.workflow.util; 18 19 20 /** 21 * General purpose static utility methods for the Workflow engine. 22 * 23 * @version $Revision: 155475 $ $Date: 2005-02-26 13:31:11 +0000 (Sat, 26 Feb 2005) $ 24 * @author Craig R. McClanahan 25 */ 26 27 public class WorkflowUtils { 28 29 30 /** 31 * Parse the character encoding from the specified content type header. 32 * If the content type is null, or there is no explicit character encoding, 33 * <code>null</code> is returned. 34 * 35 * @param contentType a content type header 36 */ 37 public static String parseCharacterEncoding(String contentType) { 38 39 if (contentType == null) 40 return (null); 41 int start = contentType.indexOf("charset="); 42 if (start < 0) 43 return (null); 44 String encoding = contentType.substring(start + 8); 45 int end = encoding.indexOf(';'); 46 if (end >= 0) 47 encoding = encoding.substring(0, end); 48 encoding = encoding.trim(); 49 if ((encoding.length() > 2) && (encoding.startsWith("\"")) 50 && (encoding.endsWith("\""))) 51 encoding = encoding.substring(1, encoding.length() - 1); 52 return (encoding.trim()); 53 54 } 55 56 57 }