Class IDLNames
- java.lang.Object
-
- org.glassfish.rmic.iiop.IDLNames
-
- All Implemented Interfaces:
Constants
,Constants
,Constants
,RuntimeConstants
public class IDLNames extends java.lang.Object implements Constants
IDLNames provides static utility methods to perform the IDL name mappings specified in Chapter 5 of the Java Language to IDL specification.
-
-
Field Summary
Fields Modifier and Type Field Description static byte[]
ASCII_HEX
Used to convert ascii to hex.private static byte[]
IDL_IDENTIFIER_CHARS
-
Fields inherited from interface org.glassfish.rmic.Constants
idRemote, idRemoteException
-
Fields inherited from interface org.glassfish.rmic.iiop.Constants
ATTRIBUTE_GET, ATTRIBUTE_GET_RW, ATTRIBUTE_IS, ATTRIBUTE_IS_RW, ATTRIBUTE_NONE, ATTRIBUTE_SET, ATTRIBUTE_WIRE_PREFIX, ERROR_SUFFIX, EX_SUFFIX, EXCEPTION_SUFFIX, idApplicationException, idBadMethodException, idBoolean, idBoxedIDL, idBoxedRMI, idByte, idChar, idClassDesc, idCorbaObject, idCorbaORB, idCorbaUserException, idDelegate, idDouble, idExtInputStream, idExtOutputStream, idFloat, idIDLEntity, idInputStream, idInt, idJavaIoExternalizable, idJavaIoIOException, IDL_ANY, IDL_BOOLEAN, IDL_BOXEDIDL_MODULE, IDL_BYTE, IDL_CHAR, IDL_CLASS, IDL_CLASS_MODULE, IDL_CONSTANT_STRING, IDL_CONSTRUCTOR, IDL_CORBA_MODULE, IDL_CORBA_OBJECT, IDL_DOUBLE, IDL_EXTERNALIZABLE, IDL_FILE_EXTENSION, IDL_FLOAT, IDL_IDLENTITY, IDL_INT, IDL_JAVA_IO_MODULE, IDL_JAVA_LANG_MODULE, IDL_JAVA_LANG_OBJECT, IDL_JAVA_RMI_MODULE, IDL_JAVA_RMI_REMOTE, IDL_KEYWORDS, IDL_LONG, IDL_NAME_SEPARATOR, IDL_ORG_OMG_CORBA_MODULE, IDL_ORG_OMG_CORBA_PORTABLE_MODULE, IDL_REPOSITORY_ID_PREFIX, IDL_REPOSITORY_ID_VERSION, IDL_SEQUENCE, IDL_SEQUENCE_MODULE, IDL_SERIALIZABLE, IDL_SHORT, IDL_STRING, IDL_VOID, idLong, idOutputStream, idPOAServantType, idPortableUnknownException, idRemarshalException, idReplyHandler, idShort, idStubBase, idSystemException, idTieBase, idTieInterface, idValueBase, idVoid, INDENT_STEP, NAME_SEPARATOR, SERIAL_VERSION_UID, SOURCE_FILE_EXTENSION, STATUS_INVALID, STATUS_PENDING, STATUS_VALID, TAB_SIZE, TM_CLASS, TM_COMPOUND, TM_INNER, TM_INTERFACE, TM_MASK, TM_NON_CONFORMING, TM_PRIMITIVE, TM_SPECIAL_CLASS, TM_SPECIAL_INTERFACE, TYPE_ABSTRACT, TYPE_ALL, TYPE_ANY, TYPE_ARRAY, TYPE_BOOLEAN, TYPE_BYTE, TYPE_CHAR, TYPE_CORBA_OBJECT, TYPE_DOUBLE, TYPE_FLOAT, TYPE_IMPLEMENTATION, TYPE_INT, TYPE_JAVA_RMI_REMOTE, TYPE_LONG, TYPE_MASK, TYPE_NC_CLASS, TYPE_NC_INTERFACE, TYPE_NONE, TYPE_REMOTE, TYPE_SHORT, TYPE_STRING, TYPE_VALUE, TYPE_VOID
-
Fields inherited from interface org.glassfish.rmic.tools.java.Constants
ABSTRACT, ACCM_CLASS, ACCM_FIELD, ACCM_INNERCLASS, ACCM_MEMBER, ACCM_METHOD, ADD, AND, ARRAY, ARRAYACCESS, ASGADD, ASGBITAND, ASGBITOR, ASGBITXOR, ASGDIV, ASGLSHIFT, ASGMUL, ASGREM, ASGRSHIFT, ASGSUB, ASGURSHIFT, ASSIGN, ATT_ALL, ATT_ALLCLASSES, ATT_CODE, BITAND, BITNOT, BITOR, BITXOR, BOOLEAN, BOOLEANVAL, BREAK, BYTE, BYTEVAL, CASE, CAST, CATCH, CHAR, CHARVAL, CLASS, COLON, COMMA, COMMENT, COND, CONST, CONTINUE, CONVERT, CS_BINARY, CS_CHECKED, CS_COMPILED, CS_NOTFOUND, CS_PARSED, CS_SOURCE, CS_UNDECIDED, CS_UNDEFINED, CT_BLOCK, CT_BRANCH_FALSE, CT_BRANCH_TRUE, CT_CASE, CT_FIKT_METHOD, CT_FIKT_RET, CT_FIRST_KIND, CT_LAST_KIND, CT_METHOD, CT_SWITH_WO_DEF, DEC, DECLARATION, DEFAULT, DIV, DO, DOUBLE, DOUBLEVAL, ELSE, EQ, ERROR, EXPR, EXPRESSION, EXTENDS, F_COVDATA, F_COVERAGE, F_DEBUG_LINES, F_DEBUG_SOURCE, F_DEBUG_VARS, F_DEPENDENCIES, F_DEPRECATION, F_DUMP, F_ERRORSREPORTED, F_OPT, F_OPT_INTERCLASS, F_PRINT_DEPENDENCIES, F_STRICTDEFAULT, F_VERBOSE, F_VERSION12, F_WARNINGS, FALSE, FIELD, FINAL, FINALLY, FLOAT, FLOATVAL, FOR, GE, GOTO, GT, idAppend, idClass, idClassInit, idClone, idCode, idConstantValue, idCoverageTable, idDeprecated, idDocumentation, IDENT, idExceptions, idFinallyReturnValue, idGetClass, idInit, idInnerClasses, idJavaIoSerializable, idJavaLang, idJavaLangClass, idJavaLangCloneable, idJavaLangError, idJavaLangException, idJavaLangObject, idJavaLangRuntimeException, idJavaLangString, idJavaLangStringBuffer, idJavaLangThrowable, idLength, idLineNumberTable, idLocalVariableTable, idNew, idNull, idSourceFile, idStar, idSuper, idSynthetic, idThis, idToString, idTYPE, idValueOf, IF, IMPLEMENTS, IMPORT, INC, INLINEMETHOD, INLINENEWINSTANCE, INLINERETURN, INSTANCEOF, INT, INTERFACE, INTVAL, LBRACE, LE, LENGTH, LONG, LONGVAL, LPAREN, LSHIFT, LSQBRACKET, LT, M_ABSTRACT, M_ANONYMOUS, M_DEPRECATED, M_FINAL, M_INLINEABLE, M_INTERFACE, M_LOCAL, M_NATIVE, M_PRIVATE, M_PROTECTED, M_PUBLIC, M_STATIC, M_STRICTFP, M_SYNCHRONIZED, M_SYNTHETIC, M_TRANSIENT, M_VOLATILE, MAXFILESIZE, MAXLINENUMBER, METHOD, MM_CLASS, MM_FIELD, MM_MEMBER, MM_METHOD, MUL, NATIVE, NE, NEG, NEW, NEWARRAY, NEWFROMNAME, NEWINSTANCE, NOT, NULL, opNames, opPrecedence, OR, PACKAGE, paraDeprecated, POS, POSTDEC, POSTINC, PREDEC, prefixAccess, prefixArray, prefixClass, prefixLoc, prefixThis, prefixVal, PREINC, PRIVATE, PROTECTED, PUBLIC, QUESTIONMARK, RBRACE, REM, RETURN, RPAREN, RSHIFT, RSQBRACKET, SEMICOLON, SHORT, SHORTVAL, SIG_INNERCLASS, SIGC_INNERCLASS, STAT, STATIC, STRICTFP, STRINGVAL, SUB, SUPER, SWITCH, SYNCHRONIZED, TC_ARRAY, TC_BOOLEAN, TC_BYTE, TC_CHAR, TC_CLASS, TC_DOUBLE, TC_ERROR, TC_FLOAT, TC_INT, TC_LONG, TC_METHOD, TC_NULL, TC_SHORT, TC_VOID, THIS, THROW, THROWS, TM_ARRAY, TM_BOOLEAN, TM_BYTE, TM_CHAR, TM_DOUBLE, TM_ERROR, TM_FLOAT, TM_INT, TM_INT32, TM_INTEGER, TM_LONG, TM_METHOD, TM_NULL, TM_NUM32, TM_NUM64, TM_NUMBER, TM_REAL, TM_REFERENCE, TM_SHORT, TM_VOID, tracing, TRANSIENT, TRUE, TRY, TYPE, URSHIFT, VARDECLARATION, VOID, VOLATILE, WHEREOFFSETBITS, WHILE
-
Fields inherited from interface org.glassfish.rmic.tools.java.RuntimeConstants
ACC_ABSTRACT, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_TRANSIENT, ACC_VOLATILE, CONSTANT_CLASS, CONSTANT_DOUBLE, CONSTANT_FIELD, CONSTANT_FLOAT, CONSTANT_INTEGER, CONSTANT_INTERFACEMETHOD, CONSTANT_INVOKEDYNAMIC, CONSTANT_LONG, CONSTANT_METHOD, CONSTANT_METHODHANDLE, CONSTANT_METHODTYPE, CONSTANT_NAMEANDTYPE, CONSTANT_STRING, CONSTANT_UNICODE, CONSTANT_UTF8, JAVA_DEFAULT_MINOR_VERSION, JAVA_DEFAULT_VERSION, JAVA_MAGIC, JAVA_MAX_SUPPORTED_MINOR_VERSION, JAVA_MAX_SUPPORTED_VERSION, JAVA_MIN_SUPPORTED_VERSION, opc_aaload, opc_aastore, opc_aconst_null, opc_aload, opc_aload_0, opc_aload_1, opc_aload_2, opc_aload_3, opc_anewarray, opc_areturn, opc_arraylength, opc_astore, opc_astore_0, opc_astore_1, opc_astore_2, opc_astore_3, opc_athrow, opc_baload, opc_bastore, opc_bipush, opc_breakpoint, opc_caload, opc_castore, opc_checkcast, opc_d2f, opc_d2i, opc_d2l, opc_dadd, opc_daload, opc_dastore, opc_dcmpg, opc_dcmpl, opc_dconst_0, opc_dconst_1, opc_ddiv, opc_dead, opc_dload, opc_dload_0, opc_dload_1, opc_dload_2, opc_dload_3, opc_dmul, opc_dneg, opc_drem, opc_dreturn, opc_dstore, opc_dstore_0, opc_dstore_1, opc_dstore_2, opc_dstore_3, opc_dsub, opc_dup, opc_dup_x1, opc_dup_x2, opc_dup2, opc_dup2_x1, opc_dup2_x2, opc_f2d, opc_f2i, opc_f2l, opc_fadd, opc_faload, opc_fastore, opc_fcmpg, opc_fcmpl, opc_fconst_0, opc_fconst_1, opc_fconst_2, opc_fdiv, opc_fload, opc_fload_0, opc_fload_1, opc_fload_2, opc_fload_3, opc_fmul, opc_fneg, opc_frem, opc_freturn, opc_fstore, opc_fstore_0, opc_fstore_1, opc_fstore_2, opc_fstore_3, opc_fsub, opc_getfield, opc_getstatic, opc_goto, opc_goto_w, opc_i2b, opc_i2c, opc_i2d, opc_i2f, opc_i2l, opc_i2s, opc_iadd, opc_iaload, opc_iand, opc_iastore, opc_iconst_0, opc_iconst_1, opc_iconst_2, opc_iconst_3, opc_iconst_4, opc_iconst_5, opc_iconst_m1, opc_idiv, opc_if_acmpeq, opc_if_acmpne, opc_if_icmpeq, opc_if_icmpge, opc_if_icmpgt, opc_if_icmple, opc_if_icmplt, opc_if_icmpne, opc_ifeq, opc_ifge, opc_ifgt, opc_ifle, opc_iflt, opc_ifne, opc_ifnonnull, opc_ifnull, opc_iinc, opc_iload, opc_iload_0, opc_iload_1, opc_iload_2, opc_iload_3, opc_imul, opc_ineg, opc_instanceof, opc_invokedynamic, opc_invokeinterface, opc_invokespecial, opc_invokestatic, opc_invokevirtual, opc_ior, opc_irem, opc_ireturn, opc_ishl, opc_ishr, opc_istore, opc_istore_0, opc_istore_1, opc_istore_2, opc_istore_3, opc_isub, opc_iushr, opc_ixor, opc_jsr, opc_jsr_w, opc_l2d, opc_l2f, opc_l2i, opc_label, opc_ladd, opc_laload, opc_land, opc_lastore, opc_lcmp, opc_lconst_0, opc_lconst_1, opc_ldc, opc_ldc_w, opc_ldc2_w, opc_ldiv, opc_lload, opc_lload_0, opc_lload_1, opc_lload_2, opc_lload_3, opc_lmul, opc_lneg, opc_lookupswitch, opc_lor, opc_lrem, opc_lreturn, opc_lshl, opc_lshr, opc_lstore, opc_lstore_0, opc_lstore_1, opc_lstore_2, opc_lstore_3, opc_lsub, opc_lushr, opc_lxor, opc_monitorenter, opc_monitorexit, opc_multianewarray, opc_new, opc_newarray, opc_nop, opc_pop, opc_pop2, opc_putfield, opc_putstatic, opc_ret, opc_return, opc_saload, opc_sastore, opc_sipush, opc_swap, opc_tableswitch, opc_try, opc_wide, opcLengths, opcNames, SIG_ARRAY, SIG_BOOLEAN, SIG_BYTE, SIG_CHAR, SIG_CLASS, SIG_DOUBLE, SIG_ENDCLASS, SIG_ENDMETHOD, SIG_FLOAT, SIG_INT, SIG_LONG, SIG_METHOD, SIG_PACKAGE, SIG_SHORT, SIG_VOID, SIGC_ARRAY, SIGC_BOOLEAN, SIGC_BYTE, SIGC_CHAR, SIGC_CLASS, SIGC_DOUBLE, SIGC_ENDCLASS, SIGC_ENDMETHOD, SIGC_FLOAT, SIGC_INT, SIGC_LONG, SIGC_METHOD, SIGC_PACKAGE, SIGC_SHORT, SIGC_VOID, T_BOOLEAN, T_BYTE, T_CHAR, T_CLASS, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT
-
-
Constructor Summary
Constructors Constructor Description IDLNames()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.String
convertIDLKeywords(java.lang.String name)
Convert names which collide with IDL keywords.static java.lang.String
convertLeadingUnderscores(java.lang.String name)
Convert names which have leading underscoresprivate static void
convertOverloadedMethods(CompoundType.Method[] allMethods, java.lang.String[] names, boolean[] overloaded)
static java.lang.String
convertToISOLatin1(java.lang.String name)
Convert names with illegal IDL identifier characters.private static boolean
doesConstructorCollide(java.lang.String name, CompoundType.Method method, CompoundType.Method[] allMethods, java.lang.String[] allNames, boolean compareConstructors)
private static boolean
doesMethodCollide(java.lang.String name, CompoundType.Method method, CompoundType.Method[] allMethods, java.lang.String[] allNames, boolean ignoreAttributes)
static java.lang.String[]
getArrayModuleNames(Type theType)
Get an array module names.static java.lang.String
getArrayName(Type theType, int arrayDimension)
Get an array name with the specified dimensions.static java.lang.String
getClassOrInterfaceName(Identifier id, BatchEnvironment env)
Convert a type name.static java.lang.String
getExceptionName(java.lang.String idlName)
Convert an Exception name.static java.lang.String
getIDLRepositoryID(java.lang.String idlName)
Get an IDL style repository id forprivate static int
getInitialAttributeKind(CompoundType.Method method, BatchEnvironment env)
static java.lang.String
getMemberOrMethodName(NameContext nameContext, java.lang.String name, BatchEnvironment env)
Convert a name.static java.lang.String[]
getModuleNames(Identifier theID, boolean boxIt, BatchEnvironment env)
Convert a qualified Identifier into an array of IDL names.static java.lang.String
getQualifiedName(java.lang.String[] idlModuleNames, java.lang.String idlName)
Create a qualified name.static java.lang.String
getTypeName(int typeCode, boolean isConstant)
Get the name for the specified type code.private static java.lang.String
getTypeOrModuleName(java.lang.String name)
Convert a type or module name.static java.lang.String
replace(java.lang.String source, java.lang.String match, java.lang.String replace)
Replace substringsprivate static void
setAttributeKinds(CompoundType.Method[] methods, int[] kinds, java.lang.String[] names)
static void
setMemberNames(CompoundType container, CompoundType.Member[] allMembers, CompoundType.Method[] allMethods, BatchEnvironment env)
Set all the member names in a given class.static void
setMethodNames(CompoundType container, CompoundType.Method[] allMethods, BatchEnvironment env)
Set all the method names in a given class.private static java.lang.String
stripLeadingUnderscore(java.lang.String name)
private static java.lang.String
stripTrailingUnderscore(java.lang.String name)
private static java.lang.String
toInnerClassName(java.lang.String typeName)
-
-
-
Method Detail
-
getMemberOrMethodName
public static java.lang.String getMemberOrMethodName(NameContext nameContext, java.lang.String name, BatchEnvironment env)
Convert a name. The nameContext argument MUST be pre-filled with all names from the appropriate context (e.g. all the method names in a given class). The names must not have had any IDL conversions applied.Section 28.3.2.2 Section 28.3.2.3 Section 28.3.2.4 Section 28.3.2.7 (member and method names only)
-
convertToISOLatin1
public static java.lang.String convertToISOLatin1(java.lang.String name)
Convert names with illegal IDL identifier characters.Section 28.3.2.4
-
convertIDLKeywords
public static java.lang.String convertIDLKeywords(java.lang.String name)
Convert names which collide with IDL keywords.Section 28.3.2.5
-
convertLeadingUnderscores
public static java.lang.String convertLeadingUnderscores(java.lang.String name)
Convert names which have leading underscoresSection 28.3.2.3
-
getClassOrInterfaceName
public static java.lang.String getClassOrInterfaceName(Identifier id, BatchEnvironment env) throws java.lang.Exception
Convert a type name.Section 28.3.2.5 Section 28.3.2.7 (class or interface names only) Throws exception if fails 28.3.2.7.
- Throws:
java.lang.Exception
-
toInnerClassName
private static java.lang.String toInnerClassName(java.lang.String typeName)
-
getExceptionName
public static java.lang.String getExceptionName(java.lang.String idlName)
Convert an Exception name.Section 28.3.7.2 (see ValueType)
-
getModuleNames
public static java.lang.String[] getModuleNames(Identifier theID, boolean boxIt, BatchEnvironment env) throws java.lang.Exception
Convert a qualified Identifier into an array of IDL names.Section 28.3.2.1 (see CompoundType) Throws exception if fails 28.3.2.7.
- Throws:
java.lang.Exception
-
getArrayName
public static java.lang.String getArrayName(Type theType, int arrayDimension)
Get an array name with the specified dimensions.Section 28.3.6 (see ArrayType)
-
getArrayModuleNames
public static java.lang.String[] getArrayModuleNames(Type theType)
Get an array module names.
-
getInitialAttributeKind
private static int getInitialAttributeKind(CompoundType.Method method, BatchEnvironment env) throws ClassNotFound
- Throws:
ClassNotFound
-
setAttributeKinds
private static void setAttributeKinds(CompoundType.Method[] methods, int[] kinds, java.lang.String[] names)
-
setMethodNames
public static void setMethodNames(CompoundType container, CompoundType.Method[] allMethods, BatchEnvironment env) throws java.lang.Exception
Set all the method names in a given class.Section 28.3.2.7 (see CompoundType) Section 28.3.2.7 Section 28.3.4.3 (RemoteType/AbstractType only).
- Throws:
java.lang.Exception
-
stripLeadingUnderscore
private static java.lang.String stripLeadingUnderscore(java.lang.String name)
-
stripTrailingUnderscore
private static java.lang.String stripTrailingUnderscore(java.lang.String name)
-
convertOverloadedMethods
private static void convertOverloadedMethods(CompoundType.Method[] allMethods, java.lang.String[] names, boolean[] overloaded)
-
doesMethodCollide
private static boolean doesMethodCollide(java.lang.String name, CompoundType.Method method, CompoundType.Method[] allMethods, java.lang.String[] allNames, boolean ignoreAttributes)
-
doesConstructorCollide
private static boolean doesConstructorCollide(java.lang.String name, CompoundType.Method method, CompoundType.Method[] allMethods, java.lang.String[] allNames, boolean compareConstructors)
-
setMemberNames
public static void setMemberNames(CompoundType container, CompoundType.Member[] allMembers, CompoundType.Method[] allMethods, BatchEnvironment env) throws java.lang.Exception
Set all the member names in a given class.Section 28.3.2.7 (see CompoundType) Section 28.3.2.7
- Throws:
java.lang.Exception
-
getTypeName
public static java.lang.String getTypeName(int typeCode, boolean isConstant)
Get the name for the specified type code.Section 28.3..3 (see PrimitiveType) Section 28.3.5.10 (see SpecialClassType) Section 28.3.4.1 (see SpecialInterfaceType) Section 28.3.10.1 (see SpecialInterfaceType) Section 28.3.10.2 (see SpecialClassType)
-
getQualifiedName
public static java.lang.String getQualifiedName(java.lang.String[] idlModuleNames, java.lang.String idlName)
Create a qualified name.
-
replace
public static java.lang.String replace(java.lang.String source, java.lang.String match, java.lang.String replace)
Replace substrings- Parameters:
source
- The source string.match
- The string to search for within the source string.replace
- The replacement for any matching components.- Returns:
-
getIDLRepositoryID
public static java.lang.String getIDLRepositoryID(java.lang.String idlName)
Get an IDL style repository id for
-
getTypeOrModuleName
private static java.lang.String getTypeOrModuleName(java.lang.String name)
Convert a type or module name.Section 28.3.2.2 Section 28.3.2.3
-
-