iiop-openjdk/src/main/java/org/wildfly/iiop/openjdk/rmi/Util.java
public static String getIRIdentifierOfClass(Class cls) {
        if (cls.isPrimitive())
            throw IIOPLogger.ROOT_LOGGER.primitivesHaveNoIRIds();

        String result = (String) classIRIdentifierCache.get(cls);
        if (result != null)
            return result;

        String name = cls.getName();
        StringBuffer b = new StringBuffer("RMI:");

        for (int i = 0; i < name.length(); ++i) {
            char c = name.charAt(i);

            if (c < 256)
                b.append(c);
            else
                b.append("\\U").append(toHexString((int) c));
        }

        long clsHash = getClassHashCode(cls);

        b.append(':').append(toHexString(clsHash));

        ObjectStreamClass osClass = ObjectStreamClass.lookup(cls);
        if (osClass != null) {
            long serialVersionUID = osClass.getSerialVersionUID();

            if (clsHash != serialVersionUID)
                b.append(':').append(toHexString(serialVersionUID));
        }

        result = b.toString();

        classIRIdentifierCache.put(cls, result);

        return result;
    }
public static String getIRIdentifierOfClass(Class cls) {
        if (cls.isPrimitive())
            throw IIOPLogger.ROOT_LOGGER.primitivesHaveNoIRIds();

        String result = (String) classIRIdentifierCache.get(cls);
        if (result != null)
            return result;

        String name = cls.getName();
        StringBuffer b = new StringBuffer("RMI:");

        for (int i = 0; i < name.length(); ++i) {
            char c = name.charAt(i);

            if (c < 256)
                b.append(c);
            else
                b.append("\\U").append(toHexString((int) c));
        }

        long clsHash = getClassHashCode(cls);

        b.append(':').append(toHexString(clsHash));

        ObjectStreamClass osClass = ObjectStreamClass.lookup(cls);
        if (osClass != null) {
            long serialVersionUID = osClass.getSerialVersionUID();

            if (clsHash != serialVersionUID)
                b.append(':').append(toHexString(serialVersionUID));
        }

        result = b.toString();

        classIRIdentifierCache.put(cls, result);

        return result;
    }
public static String getIRIdentifierOfClass ( Class cls ) { if ( cls . isPrimitive ( ) ) throw IIOPLogger . ROOT_LOGGER . primitivesHaveNoIRIds ( ) ; String result = ( String ) classIRIdentifierCache . get ( cls ) ; if ( result != null ) return result ; String name = cls . getName ( ) ; StringBuffer b = new StringBuffer ( "RMI:" ) ; for ( int i = 0 ; i < name . length ( ) ; ++ i ) { char c = name . charAt ( i ) ; if ( c < 256 ) b . append ( c ) ; else b . append ( "\\U" ) . append ( toHexString ( ( int ) c ) ) ; } long clsHash = getClassHashCode ( cls ) ; b . append ( ' ' ) . append ( toHexString ( clsHash ) ) ; ObjectStreamClass osClass = ObjectStreamClass . lookup ( cls ) ; if ( osClass != null ) { long serialVersionUID = osClass . getSerialVersionUID ( ) ; if ( clsHash != serialVersionUID ) b . append ( ' ' ) . append ( toHexString ( serialVersionUID ) ) ; } result = b . toString ( ) ; classIRIdentifierCache . put ( cls , result ) ; return result ; }
Return the IR global ID of the given class or interface.
This is described in section 1.3.5.7.
The returned string is in the RMI hashed format, like
"RMI:java.util.Hashtable:C03324C0EA357270:13BB0F25214AE4B8".
Return the IR global ID of the given class or interface . This is described in section 1 . 3 . 5 . 7 . The returned string is in the RMI hashed format like RMI : java . util . Hashtable : C03324C0EA357270 : 13BB0F25214AE4B8 .