package net.sf.minuteProject.utils.code; import net.sf.minuteProject.configuration.bean.system.Property; import net.sf.minuteProject.utils.FormatUtils; import net.sf.minuteProject.utils.lang.XmlCharEntityReferencesUtils; public class RestrictedCodeUtils { public static final String REPLACEMENT_CHAR = "_"; public static final String convertToValidJava(String input) { return convertToValidJava(input, false); } private static final String convertToValidJava(String input, boolean upperCase) { input = FormatUtils.convertToValidJava(input, "[^A-Za-z0-9_]", REPLACEMENT_CHAR, upperCase); return FormatUtils.trimExpression(FormatUtils.eliminateMultipleSequenceOfChar(input, REPLACEMENT_CHAR.toCharArray()), REPLACEMENT_CHAR); } public static final String convertToValidJavaWithUpperCase(Property property) { if (property!=null && property.getName()!=null) return convertToValidJavaWithUpperCase(property.getName()); return "ERROR_PROPERTY_NAME_NOT_SET"; } public static final String convertToValidJavaWithUpperCase(String input) { return convertToValidJava(input, true); } public static String convertToValidPlainTextFromXml(Property property) { if (property!=null) { if (property.getValue()!=null) return convertToValidPlainTextFromXml(property.getValue()); if (property.getName()!=null) return convertToValidPlainTextFromXml(property.getName()); } return "ERROR_PROPERTY_NAME_AND_VALUE_NOT_SET"; } private static String convertToValidPlainTextFromXml(String input) { return XmlCharEntityReferencesUtils.convertToValidPlainTextFromXml(input); } }