Class SDOUtil


  • public class SDOUtil
    extends Object

    Purpose: Common functions in support of SDO.

    Responsibilities:

    • JAXB 1.0 Name Mangling algorithm functions are provided to support generation of valid class/method names..
    • JSR-222 JAXB 2.0 Java Package Name generation algorithm function follows https://jaxb.dev.java.net/spec-download.html in section D.5.1 "Mapping from a Namespace URI"
    • Constructor Detail

      • SDOUtil

        public SDOUtil()
    • Method Detail

      • getDefaultPackageName

        public static String getDefaultPackageName()
        INTERNAL: Get default package name when no targetNamespace URI exists.
        This function follows the JSR-222 JAXB 2.0 algorithm from https://jaxb.dev.java.net/spec-download.html
        Returns:
        default Java package name String
      • getPackageNameFromURI

        public static String getPackageNameFromURI​(String uriString)
        INTERNAL: Get default package name from a namespace URI.
        This function follows the JSR-222 JAXB 2.0 algorithm from https://jaxb.dev.java.net/spec-download.html.
        Parameters:
        uriString - - a namespace URL or URN
        Returns:
        Java package name String
      • className

        public static String className​(String s,
                                       boolean isClass)
        INTERNAL: Return a valid Java class name or method name for a given string
        Parameters:
        s -
        isClass - (flag whether called from a method context)
        Returns:
      • className

        public static String className​(String s,
                                       boolean flag,
                                       boolean isClass,
                                       boolean logOn)
        INTERNAL: Return a valid Java class name or method name for a given string
        Parameters:
        s -
        isClass - (flag whether called from a method context)
        flag -
        Returns:
      • methodName

        public static String methodName​(String s)
        INTERNAL: Return a valid Java method name for a given string
        Parameters:
        s -
        Returns:
      • methodName

        public static String methodName​(String s,
                                        boolean flag)
        INTERNAL: Return a valid Java method name for a given string
        Parameters:
        s -
        flag -
        Returns:
      • setMethodName

        public static String setMethodName​(String s)
        INTERNAL: Return a valid Java set method name for a given string
        Parameters:
        s -
        Returns:
      • getMethodName

        public static String getMethodName​(String s,
                                           String returnType)
        INTERNAL: Return a valid Java get method name for a given string. This method will check the returnType to see if it is a boolean/Boolean: if so, 'is' will be used in the method name instead of 'get'.
        Parameters:
        s -
        returnType -
        Returns:
      • getBooleanGetMethodName

        public static String getBooleanGetMethodName​(String s,
                                                     String returnType)
        INTERNAL: Return a valid Java get method name for a given string. This method will NOT check the returnType to see if it is a boolean/Boolean and all method names will start with "GET"
        Parameters:
        s -
        returnType -
        Returns:
      • constantName

        public static String constantName​(String s)
        INTERNAL:
        Parameters:
        s -
        Returns:
      • getJavaTypeForProperty

        public static String getJavaTypeForProperty​(SDOProperty property)
      • getBuiltInType

        public static String getBuiltInType​(String typeName)
      • isValidXmlNCName

        public static boolean isValidXmlNCName​(String name)
        INTERNAL: Validates whether given string is a valid XML non-colonial name (NCName).
        Parameters:
        name - string
        Returns:
        true given string is a valid NCName
        See Also:
        http://www.w3.org/TR/REC-xml-names/#NT-NCName