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

📄 idltype.java

📁 JAVA的一些源码 JAVA2 STANDARD EDITION DEVELOPMENT KIT 5.0
💻 JAVA
字号:
/* * @(#)IDLType.java	1.6 04/06/21 *  * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package com.sun.corba.se.impl.presentation.rmi ;/** * Holds information about the OMG IDL mapping of a Java type. */public class IDLType {    private Class cl_;    // terminology for OMG IDL type package name    private String[] modules_;    // name of element within module    private String memberName_;    public IDLType(Class cl, String[] modules, String memberName) {        cl_ = cl;        modules_ = modules;        memberName_ = memberName;    }    public IDLType(Class cl, String memberName) {	this( cl, new String[0], memberName ) ;    }    public Class getJavaClass() {        return cl_;    }    public String[] getModules()    {	return modules_ ;    }        public String makeConcatenatedName( char separator, boolean fixIDLKeywords ) {	StringBuffer sbuff = new StringBuffer() ;	for (int ctr=0; ctr<modules_.length; ctr++) {	    String mod = modules_[ctr] ;	    if (ctr>0)		sbuff.append( separator ) ;	    	    if (fixIDLKeywords && IDLNameTranslatorImpl.isIDLKeyword(mod))		mod = IDLNameTranslatorImpl.mangleIDLKeywordClash( mod ) ;	    sbuff.append( mod ) ;	}        return sbuff.toString() ;    }       public String getModuleName() {	// Note that this should probably be makeConcatenatedName( '/', true )	// for spec compliance,	// but rmic does it this way, so we'll leave this.	// The effect is that an overloaded method like	// void foo( bar.typedef.Baz ) 	// will get an IDL name of foo__bar_typedef_Baz instead of	// foo__bar__typedef_Baz (note the extra _ before typedef).	return makeConcatenatedName( '_', false ) ;    }    public String getExceptionName() {	// Here we will check for IDL keyword collisions (see bug 5010332).	// This means that the repository ID for 	// foo.exception.SomeException is	// "IDL:foo/_exception/SomeEx:1.0" (note the underscore in front	// of the exception module name).	String modName = makeConcatenatedName( '/', true ) ;	String suffix = "Exception" ;	String excName = memberName_ ;	if (excName.endsWith( suffix )) {	    int last = excName.length() - suffix.length() ;	    excName = excName.substring( 0, last ) ;	}   	// See bug 4989312: we must always add the Ex.	excName += "Ex" ;	if (modName.length() == 0)	    return "IDL:" + excName + ":1.0" ; 	else	    return "IDL:" + modName + '/' + excName + ":1.0" ;     }    public String getMemberName() {        return memberName_;    }        /**     * True if this type doesn't have a containing module.  This     * would be true of a java type defined in the default package     * or a primitive.     */    public boolean hasModule() {        return (modules_.length > 0) ;    }}

⌨️ 快捷键说明

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