All Downloads are FREE. Search and download functionalities are using the official Maven repository.

nl.nn.testtool.util.EscapeUtil Maven / Gradle / Ivy

/*
 * Created on 16-Sep-09
 *
 * To change the template for this generated file go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
package nl.nn.testtool.util;

import java.util.List;

/**
 * @author m00f069
 *
 * To change the template for this generated type comment go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
public class EscapeUtil {

	public static String escapeXml(String value) {
		if (value == null) {
			return "";
		} else {
			StringBuffer result = new StringBuffer();
			for (int i = 0; i < value.length(); i++) {
				if (value.charAt(i) == '<') {
					result.append("<");
				} else if (value.charAt(i) == '>') {
					result.append(">");
				} else if (value.charAt(i) == '\"') {
					result.append(""");
				} else if (value.charAt(i) == '&') {
					result.append("&");
				} else {
					result.append(value.charAt(i));
				}
			}
			return result.toString();
		}
	}

	public static String escapeCsv(String value) {
		if (value == null) {
			value = "";
		} else {
			boolean specialCharsFound = false;
			if (value.length() == 0) {
				specialCharsFound = true;
			} else {
				for (int i = 0; i < value.length(); i++) {
					int c = value.charAt(i);
					if (c == '"') {
						specialCharsFound = true;
						value = value.substring(0, i) + "\"" + value.substring(i);
						i++;
					} else if (c == ',' ||c == '\n' || c == '\r') {
						specialCharsFound = true;
					}
				}
			}
			if (specialCharsFound) {
				value = "\"" + value + "\"";
			}
		}
		return value;
	}
	
	public static String escapeCsv(List values) {
		StringBuffer stringBuffer = new StringBuffer();
		for (int i = 0; i < values.size() - 1; i++) {
			stringBuffer.append(escapeCsv((String)values.get(i)));
			stringBuffer.append(",");
		}
		stringBuffer.append(escapeCsv((String)values.get(values.size() - 1)));
		return stringBuffer.toString();
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy