Class Normalizer
- java.lang.Object
-
- org.jasypt.normalization.Normalizer
-
public final class Normalizer extends java.lang.Object
Utility for the normalization of Unicode Strings to NFC form.
This class tries to use the java.text.Normalizer class in JDK 1.6 first and, if it the class is not found (Java version < 6), then it will use the ICU4J com.ibm.icu.text.Normalizer class (in this case, a ClassNotFoundException will be thrown if ICU4J is not present).
- Since:
- 1.5
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String
ICU_NORMALIZER_CLASS_NAME
private static java.lang.Object
javaTextNormalizerFormNFCConstant
private static java.lang.reflect.Method
javaTextNormalizerMethod
private static java.lang.String
JDK_NORMALIZER_CLASS_NAME
private static java.lang.String
JDK_NORMALIZER_FORM_CLASS_NAME
private static java.lang.Boolean
useIcuNormalizer
-
Constructor Summary
Constructors Modifier Constructor Description private
Normalizer()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description (package private) static void
initializeIcu4j()
(package private) static void
initializeJavaTextNormalizer()
static char[]
normalizeToNfc(char[] message)
Normalize Unicode-input message to NFC.static java.lang.String
normalizeToNfc(java.lang.String message)
Normalize Unicode-input message to NFC.(package private) static char[]
normalizeWithIcu4j(char[] message)
(package private) static char[]
normalizeWithJavaNormalizer(char[] message)
-
-
-
Field Detail
-
ICU_NORMALIZER_CLASS_NAME
private static final java.lang.String ICU_NORMALIZER_CLASS_NAME
- See Also:
- Constant Field Values
-
JDK_NORMALIZER_CLASS_NAME
private static final java.lang.String JDK_NORMALIZER_CLASS_NAME
- See Also:
- Constant Field Values
-
JDK_NORMALIZER_FORM_CLASS_NAME
private static final java.lang.String JDK_NORMALIZER_FORM_CLASS_NAME
- See Also:
- Constant Field Values
-
useIcuNormalizer
private static java.lang.Boolean useIcuNormalizer
-
javaTextNormalizerMethod
private static java.lang.reflect.Method javaTextNormalizerMethod
-
javaTextNormalizerFormNFCConstant
private static java.lang.Object javaTextNormalizerFormNFCConstant
-
-
Method Detail
-
normalizeToNfc
public static java.lang.String normalizeToNfc(java.lang.String message)
Normalize Unicode-input message to NFC.
This algorithm will first try to normalize the input's UNICODE using icu4j's com.ibm.icu.text.Normalizer and, if it is not present at the classpath, will try to use java.text.Normalizer. If this is not present either (this class appeared in JavaSE 6), it will raise an exception.
- Parameters:
message
- the message to be normalized- Returns:
- the result of the normalization operation
-
normalizeToNfc
public static char[] normalizeToNfc(char[] message)
Normalize Unicode-input message to NFC.
This algorithm will first try to normalize the input's UNICODE using icu4j's com.ibm.icu.text.Normalizer and, if it is not present at the classpath, will try to use java.text.Normalizer. If this is not present either (this class appeared in JavaSE 6), it will raise an exception.
- Parameters:
message
- the message to be normalized- Returns:
- the result of the normalization operation
-
initializeIcu4j
static void initializeIcu4j() throws java.lang.ClassNotFoundException
- Throws:
java.lang.ClassNotFoundException
-
initializeJavaTextNormalizer
static void initializeJavaTextNormalizer() throws java.lang.ClassNotFoundException, java.lang.NoSuchMethodException, java.lang.NoSuchFieldException, java.lang.IllegalAccessException
- Throws:
java.lang.ClassNotFoundException
java.lang.NoSuchMethodException
java.lang.NoSuchFieldException
java.lang.IllegalAccessException
-
normalizeWithJavaNormalizer
static char[] normalizeWithJavaNormalizer(char[] message)
-
normalizeWithIcu4j
static char[] normalizeWithIcu4j(char[] message)
-
-