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

com.puresoltechnologies.parsers.ust.NameTranslator Maven / Gradle / Ivy

The newest version!
package com.puresoltechnologies.parsers.ust;

public class NameTranslator {

	public static String getProductionClassName(String productionName) {
		StringBuffer buffer = new StringBuffer(productionName);
		removeLeadingUnderlines(buffer);
		makeFirstLetterUpperCase(buffer);
		replaceDashWithUpperCase(buffer);
		removeTrailingUnderlines(buffer);
		return buffer.toString();
	}

	private static void removeLeadingUnderlines(StringBuffer buffer) {
		while (buffer.toString().startsWith("_")) {
			buffer.delete(0, 1);
		}
	}

	private static void replaceDashWithUpperCase(StringBuffer buffer) {
		char chars[] = new char[1];
		int index = buffer.indexOf("-");
		while (index >= 0) {
			buffer.getChars(index + 1, index + 2, chars, 0);
			buffer.delete(index, index + 1);
			if (Character.isLowerCase(chars[0])) {
				chars[0] = Character.toUpperCase(chars[0]);
				buffer.replace(index, index + 1, new String(chars));
			}
			index = buffer.indexOf("-");
		}
	}

	private static void makeFirstLetterUpperCase(StringBuffer buffer) {
		char chars[] = new char[1];
		buffer.getChars(0, 1, chars, 0);
		if (Character.isLowerCase(chars[0])) {
			chars[0] = Character.toUpperCase(chars[0]);
			buffer.replace(0, 1, new String(chars));
		}
	}

	private static void removeTrailingUnderlines(StringBuffer buffer) {
		while (buffer.toString().endsWith("_")) {
			int bufferLength = buffer.length();
			buffer.delete(bufferLength - 1, bufferLength);
		}
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy