com.sun.xml.bind.api.impl
Class NameUtil

java.lang.Object
  extended by com.sun.xml.bind.api.impl.NameUtil
Direct Known Subclasses:
NameConverter.Standard

 class NameUtil
extends Object

Methods that convert strings into various formats.

What JAX-RPC name binding tells us is that even such basic method like "isLetter" can be different depending on the situation. For this reason, a whole lot of methods are made non-static, even though they look like they should be static.


Field Summary
protected static int DIGIT
           
protected static int LOWER_LETTER
           
protected static int OTHER
           
protected static int OTHER_LETTER
           
protected static int UPPER_LETTER
           
 
Constructor Summary
NameUtil()
           
 
Method Summary
 String capitalize(String s)
          Capitalizes the first character of the specified string, and de-capitalize the rest of characters.
protected  int classify(char c0)
          Classify a character into 5 categories that determine the word break.
static void escape(StringBuilder sb, String s, int start)
          Escapes characters is the given string so that they can be printed by only using US-ASCII characters.
protected static boolean isDigit(char c)
           
static boolean isJavaIdentifier(String s)
          Checks if a given string is usable as a Java identifier.
static boolean isJavaPackageName(String s)
          Checks if the given string is a valid Java package name.
protected  boolean isLetter(char c)
           
protected static boolean isLower(char c)
           
protected  boolean isPunct(char c)
           
protected static boolean isUpper(char c)
           
 String toConstantName(List<String> ss)
          Formats a string into "THIS_KIND_OF_FORMAT_ABC_DEF".
 String toConstantName(String s)
          Formats a string into "THIS_KIND_OF_FORMAT_ABC_DEF".
protected  String toMixedCaseName(List<String> ss, boolean startUpper)
           
protected  String toMixedCaseVariableName(String[] ss, boolean startUpper, boolean cdrUpper)
           
 List<String> toWordList(String s)
          Tokenizes a string into words and capitalizes the first character of each word.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

UPPER_LETTER

protected static final int UPPER_LETTER
See Also:
Constant Field Values

LOWER_LETTER

protected static final int LOWER_LETTER
See Also:
Constant Field Values

OTHER_LETTER

protected static final int OTHER_LETTER
See Also:
Constant Field Values

DIGIT

protected static final int DIGIT
See Also:
Constant Field Values

OTHER

protected static final int OTHER
See Also:
Constant Field Values
Constructor Detail

NameUtil

NameUtil()
Method Detail

isPunct

protected boolean isPunct(char c)

isDigit

protected static boolean isDigit(char c)

isUpper

protected static boolean isUpper(char c)

isLower

protected static boolean isLower(char c)

isLetter

protected boolean isLetter(char c)

capitalize

public String capitalize(String s)
Capitalizes the first character of the specified string, and de-capitalize the rest of characters.


classify

protected int classify(char c0)
Classify a character into 5 categories that determine the word break.


toWordList

public List<String> toWordList(String s)
Tokenizes a string into words and capitalizes the first character of each word.

This method uses a change in character type as a splitter of two words. For example, "abc100ghi" will be splitted into {"Abc", "100","Ghi"}.


toMixedCaseName

protected String toMixedCaseName(List<String> ss,
                                 boolean startUpper)

toMixedCaseVariableName

protected String toMixedCaseVariableName(String[] ss,
                                         boolean startUpper,
                                         boolean cdrUpper)

toConstantName

public String toConstantName(String s)
Formats a string into "THIS_KIND_OF_FORMAT_ABC_DEF".

Returns:
Always return a string but there's no guarantee that the generated code is a valid Java identifier.

toConstantName

public String toConstantName(List<String> ss)
Formats a string into "THIS_KIND_OF_FORMAT_ABC_DEF".

Returns:
Always return a string but there's no guarantee that the generated code is a valid Java identifier.

escape

public static void escape(StringBuilder sb,
                          String s,
                          int start)
Escapes characters is the given string so that they can be printed by only using US-ASCII characters. The escaped characters will be appended to the given StringBuffer.

Parameters:
sb - StringBuffer that receives escaped string.
s - String to be escaped. s.substring(start) will be escaped and copied to the string buffer.

isJavaIdentifier

public static boolean isJavaIdentifier(String s)
Checks if a given string is usable as a Java identifier.


isJavaPackageName

public static boolean isJavaPackageName(String s)
Checks if the given string is a valid Java package name.