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

org.molgenis.util.HtmlTools Maven / Gradle / Ivy

package org.molgenis.util;

/**
 * Helper functions for HTML interaction
 * 
 * @author joerivandervelde
 * 
 */
public class HtmlTools
{

	/**
	 * Helper function to convert any string into URL-safe encoding.
	 * 
	 * @param input
	 * @return
	 */
	public static String toSafeUrlString(String input)
	{
		if (input.length() == 0)
		{
			return "";
		}
		StringBuilder encBuilder = new StringBuilder();
		for (char c : input.toCharArray())
		{
			encBuilder.append((int) c).append('.');
		}
		return encBuilder.substring(0, encBuilder.length() - 1);
	}

	/**
	 * Helper function to convert any string into URL-safe encoding. Output
	 * string is less easy to translate back to the original.
	 * 
	 * @param input
	 * @return
	 */
	public static String toSafeUrlStringO_b_f(String input)
	{
		if (input.length() == 0)
		{
			return "";
		}
		StringBuilder encBuilder = new StringBuilder();
		for (char c : input.toCharArray())
		{
			encBuilder.append((int) (Math.pow((c), 2) - Math.pow(10, 4))).append('.');
		}
		return encBuilder.substring(0, encBuilder.length() - 1);
	}

	/**
	 * Helper function to convert an URL-safe string (passed from eg. a REST
	 * interface) back to the original string. Input string passes an extra
	 * translation step.
	 * 
	 * @param input
	 * @return
	 */
	public static String fromSafeUrlStringO_b_f(String input)
	{
		StringBuilder decBuilder = new StringBuilder();
		for (String nr : input.split("\\."))
		{
			int i = (int) Math.sqrt(Integer.parseInt(nr) + Math.pow(10, 4));
			char c = (char) i;
			decBuilder.append(c);
		}
		return decBuilder.toString();
	}

	/**
	 * Helper function to convert any string into URL-safe encoding.
	 * 
	 * @param input
	 * @return
	 */
	public static String toSafeUrlStringObv(String input)
	{
		if (input.length() == 0)
		{
			return "";
		}
		StringBuilder encBuilder = new StringBuilder();
		for (char c : input.toCharArray())
		{
			encBuilder.append((int) (Math.pow((c), 2) - 4321)).append('.');
		}
		return encBuilder.substring(0, encBuilder.length() - 1);
	}

	/**
	 * Helper function to convert an URL-safe string (passed from eg. a REST
	 * interface) back to the original string.
	 * 
	 * @param input
	 * @return
	 */
	public static String fromSafeUrlString(String input)
	{
		StringBuilder decBuilder = new StringBuilder();
		for (String nr : input.split("\\."))
		{
			int i = Integer.parseInt(nr);
			char c = (char) i;
			decBuilder.append(c);
		}
		return decBuilder.toString();
	}

	/**
	 * Example for toSafeUrlString() and fromSafeUrlString():
	 * 
	 * String example = "abcabc!@#$%^&*(){}:,./;|'\"<>"; String enc =
	 * HtmlTools.toSafeUrlString(example); System.out.println(enc); if
	 * (example.equals(HtmlTools.fromSafeUrlString(enc))) {
	 * System.out.println("success"); }
	 */

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy