⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 repositoryid.java

📁 java1.6众多例子参考
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
        while ((type = clazz.getComponentType()) != null) {	    numOfDims++;            clazz = type;        }	if (clazz.isPrimitive())	    repid = kValuePrefix + originalClazz.getName() + kPrimitiveSequenceValueHash;	else {	    StringBuffer buf = new StringBuffer();	    buf.append(kValuePrefix);	    while(numOfDims-- > 0) {		buf.append("[");	    }	    buf.append("L");	    buf.append(convertToISOLatin1(clazz.getName()));	    buf.append(";");	    buf.append(createHashString(clazz));	    repid = buf.toString();	}	classSeqToRepStr.put(originalClazz,repid);	return repid;	}    }    public static String createForSpecialCase(java.lang.Class clazz){	if (clazz.isArray()){	    return createSequenceRepID(clazz);	}	else {	    return (String)kSpecialCasesRepIDs.get(clazz);	}    }    public static String createForSpecialCase(java.io.Serializable ser){	Class clazz = ser.getClass();	if (clazz.isArray()){	    return createSequenceRepID(ser);	}	else	    return createForSpecialCase(clazz);    }	    /**     * Creates a repository ID for a normal Java Type.       * @param ser The Java object to create a repository ID for     * @exception com.sun.corba.se.impl.io.TypeMismatchException if ser implements the     * org.omg.CORBA.portable.IDLEntity interface which indicates it is an IDL Value type.     **/    public static String createForJavaType(java.io.Serializable ser)        throws com.sun.corba.se.impl.io.TypeMismatchException    {	synchronized (classToRepStr) {	String repid = createForSpecialCase(ser);	if (repid != null)	    return repid;	Class clazz = ser.getClass();	repid = (String)classToRepStr.get(clazz);	if (repid != null)	    return repid;	repid = kValuePrefix + convertToISOLatin1(clazz.getName()) +	    createHashString(clazz);	classToRepStr.put(clazz, repid);	    repStrToClass.put(repid, clazz);        return repid;    }    }    /**     * Creates a repository ID for a normal Java Type.     * @param clz The Java class to create a repository ID for     * @exception com.sun.corba.se.impl.io.TypeMismatchException if ser implements the     * org.omg.CORBA.portable.IDLEntity interface which indicates it is an IDL Value type.     **/    public static String createForJavaType(Class clz)        throws com.sun.corba.se.impl.io.TypeMismatchException    {	synchronized (classToRepStr){	String repid = createForSpecialCase(clz);	if (repid != null)	    return repid;	repid = (String)classToRepStr.get(clz);	if (repid != null)	    return repid;        repid = kValuePrefix + convertToISOLatin1(clz.getName()) +	    createHashString(clz);	classToRepStr.put(clz, repid);	    repStrToClass.put(repid, clz);        return repid;    }    }    /**     * Creates a repository ID for an IDL Java Type.     * @param ser The IDL Value object to create a repository ID for     * @param major The major version number     * @param minor The minor version number     * @exception com.sun.corba.se.impl.io.TypeMismatchException if ser does not implement the     * org.omg.CORBA.portable.IDLEntity interface which indicates it is an IDL Value type.     **/    public static String createForIDLType(Class ser, int major, int minor)        throws com.sun.corba.se.impl.io.TypeMismatchException    {	synchronized (classIDLToRepStr){	String repid = (String)classIDLToRepStr.get(ser);	if (repid != null)	    return repid;        repid = kIDLPrefix + convertToISOLatin1(ser.getName()).replace('.','/') +	    ":" + major + "." + minor;	classIDLToRepStr.put(ser, repid);	return repid;    }    }    private static String getIdFromHelper(Class clazz){    	try {	    Class helperClazz = Utility.loadClassForClass(clazz.getName()+"Helper", null,                                    clazz.getClassLoader(), clazz, clazz.getClassLoader());	    Method idMethod = helperClazz.getDeclaredMethod("id", kNoParamTypes);	    return (String)idMethod.invoke(null, kNoArgs);    	}        catch(java.lang.ClassNotFoundException cnfe)	    {        	throw new org.omg.CORBA.MARSHAL(cnfe.toString());	    }        catch(java.lang.NoSuchMethodException nsme)	    {        	throw new org.omg.CORBA.MARSHAL(nsme.toString());	    }        catch(java.lang.reflect.InvocationTargetException ite)	    {        	throw new org.omg.CORBA.MARSHAL(ite.toString());	    }        catch(java.lang.IllegalAccessException iae)	    {        	throw new org.omg.CORBA.MARSHAL(iae.toString());    }    }    /**     * Createa a repository ID for the type if it is either a java type     * or an IDL type.     * @param type The type to create rep. id for     * @return The rep. id.     **/    public static String createForAnyType(Class type) {	try{	    if (type.isArray())		return createSequenceRepID(type);	    else if (IDLEntity.class.isAssignableFrom(type))		{		    try{			return getIdFromHelper(type);		    }		    catch(Throwable t) {			return createForIDLType(type, 1, 0);		    }		}	    else return createForJavaType(type);	}	catch(com.sun.corba.se.impl.io.TypeMismatchException e){ 	    return null; 	}    }    public static boolean isAbstractBase(Class clazz) {	return (clazz.isInterface() && 		IDLEntity.class.isAssignableFrom(clazz) &&		(!ValueBase.class.isAssignableFrom(clazz)) &&		(!org.omg.CORBA.Object.class.isAssignableFrom(clazz)));				    }    public static boolean isAnyRequired(Class clazz) {	return ((clazz == java.lang.Object.class) ||		(clazz == java.io.Serializable.class) ||		(clazz == java.io.Externalizable.class));    }    public static long fromHex(String hexNumber) {	if (hexNumber.startsWith("0x")) 	    return Long.valueOf(hexNumber.substring(2), 16).longValue();	else return Long.valueOf(hexNumber, 16).longValue();    }    /**     * Convert strings with illegal IDL identifier characters.     * <p>     * Section 5.5.7 of OBV spec.     */    public static String convertToISOLatin1 (String name) {        int length = name.length();        if (length == 0) {            return name;        }        StringBuffer buffer = null;        for (int i = 0; i < length; i++) {            char c = name.charAt(i);            if (c > 255 || IDL_IDENTIFIER_CHARS[c] == 0) {                            // We gotta convert. Have we already started?                if (buffer == null) {                    // No, so get set up...                    buffer = new StringBuffer(name.substring(0,i));                }                // Convert the character into the IDL escape syntax...                buffer.append(			      "\\U" +			      (char)ASCII_HEX[(c & 0xF000) >>> 12] +			      (char)ASCII_HEX[(c & 0x0F00) >>> 8] +			      (char)ASCII_HEX[(c & 0x00F0) >>> 4] +			      (char)ASCII_HEX[(c & 0x000F)]);        		            } else {                if (buffer != null) {                    buffer.append(c);                }            }    	}    	    	if (buffer != null) {    	    name = buffer.toString();    	}     	return name;    }        /**     * Convert strings with ISO Latin 1 escape sequences back to original strings.     * <p>     * Section 5.5.7 of OBV spec.     */    private static String convertFromISOLatin1 (String name) {        int index = -1;        StringBuffer buf = new StringBuffer(name);        while ((index = buf.toString().indexOf("\\U")) != -1){            String str = "0000" + buf.toString().substring(index+2, index+6);            // Convert Hexadecimal            byte[] buffer = new byte[(str.length() - 4) / 2];            for (int i=4, j=0; i < str.length(); i +=2, j++) {                buffer[j] = (byte)((Utility.hexOf(str.charAt(i)) << 4) & 0xF0);                buffer[j] |= (byte)((Utility.hexOf(str.charAt(i+1)) << 0) & 0x0F);            }                        buf = new StringBuffer(delete(buf.toString(), index, index+6));            buf.insert(index, (char)buffer[1]);        }                return buf.toString();    }    private static String delete(String str, int from, int to)    {        return str.substring(0, from) + str.substring(to, str.length());        }    private static String replace(String target, String arg, String source)    {        int i = 0;        i = target.indexOf(arg);        while(i != -1)	    {		String left = target.substring(0, i);		String right = target.substring(i+arg.length());		target = new String(left+source+right);		i = target.indexOf(arg);	    }        return target;    }    public static int computeValueTag(boolean codeBasePresent, int typeInfo, boolean chunkedEncoding){	int value_tag = kInitialValueTag;			if (codeBasePresent)	    value_tag = value_tag | 0x00000001;		value_tag = value_tag | typeInfo;	if (chunkedEncoding)	    value_tag = value_tag | kChunkedMask;	return value_tag;    }    public static boolean isCodeBasePresent(int value_tag){	return ((value_tag & 0x00000001) == 1);    }    public static int getTypeInfo(int value_tag){	return (value_tag & 0x00000006);    }    public static boolean isChunkedEncoding(int value_tag){	return ((value_tag & kChunkedMask) != 0);     }	    public static String getServerURL(){	return defaultServerURL;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -