Class RepositoryId


  • public class RepositoryId
    extends java.lang.Object
    • Field Detail

      • IDL_IDENTIFIER_CHARS

        public static final byte[] IDL_IDENTIFIER_CHARS
      • defaultServerURL

        private static final java.lang.String defaultServerURL
      • useCodebaseOnly

        private static final boolean useCodebaseOnly
      • classToRepStr

        private static final java.util.Map<java.lang.Class<?>,​java.lang.String> classToRepStr
      • classIDLToRepStr

        private static final java.util.Map<java.lang.Class<?>,​java.lang.String> classIDLToRepStr
      • classSeqToRepStr

        private static final java.util.Map<java.lang.Class<?>,​java.lang.String> classSeqToRepStr
      • repStrToByteArray

        private static final java.util.Map<java.lang.String,​byte[]> repStrToByteArray
      • repStrToClass

        private static final java.util.Map<java.lang.String,​java.lang.Class<?>> repStrToClass
      • repId

        private java.lang.String repId
      • isSupportedFormat

        private boolean isSupportedFormat
      • typeString

        private java.lang.String typeString
      • versionString

        private java.lang.String versionString
      • isSequence

        private boolean isSequence
      • isRMIValueType

        private boolean isRMIValueType
      • isIDLType

        private boolean isIDLType
      • completeClassName

        private java.lang.String completeClassName
      • unqualifiedName

        private java.lang.String unqualifiedName
      • definedInId

        private java.lang.String definedInId
      • clazz

        private java.lang.Class clazz
      • suid

        private java.lang.String suid
      • actualSuid

        private java.lang.String actualSuid
      • suidLong

        private long suidLong
      • actualSuidLong

        private long actualSuidLong
      • kSequenceKeyword

        private static final java.lang.String kSequenceKeyword
        See Also:
        Constant Field Values
      • kIDLClassnamePrefix

        private static final java.lang.String kIDLClassnamePrefix
        See Also:
        Constant Field Values
      • kValuePrefixLength

        private static final int kValuePrefixLength
      • kIDLPrefixLength

        private static final int kIDLPrefixLength
      • kSequencePrefixLength

        private static final int kSequencePrefixLength
      • kInterfaceHashCode

        private static final java.lang.String kInterfaceHashCode
        See Also:
        Constant Field Values
      • kInterfaceOnlyHashStr

        private static final java.lang.String kInterfaceOnlyHashStr
        See Also:
        Constant Field Values
      • kExternalizableHashStr

        private static final java.lang.String kExternalizableHashStr
        See Also:
        Constant Field Values
      • kPreComputed_StandardRMIUnchunked

        public static final int kPreComputed_StandardRMIUnchunked
      • kPreComputed_CodeBaseRMIUnchunked

        public static final int kPreComputed_CodeBaseRMIUnchunked
      • kPreComputed_StandardRMIChunked

        public static final int kPreComputed_StandardRMIChunked
      • kPreComputed_CodeBaseRMIChunked

        public static final int kPreComputed_CodeBaseRMIChunked
      • kPreComputed_StandardRMIUnchunked_NoRep

        public static final int kPreComputed_StandardRMIUnchunked_NoRep
      • kPreComputed_CodeBaseRMIUnchunked_NoRep

        public static final int kPreComputed_CodeBaseRMIUnchunked_NoRep
      • kPreComputed_StandardRMIChunked_NoRep

        public static final int kPreComputed_StandardRMIChunked_NoRep
      • kPreComputed_CodeBaseRMIChunked_NoRep

        public static final int kPreComputed_CodeBaseRMIChunked_NoRep
      • kWStringValueVersion

        public static final java.lang.String kWStringValueVersion
        See Also:
        Constant Field Values
      • kWStringValueHash

        public static final java.lang.String kWStringValueHash
        See Also:
        Constant Field Values
      • kWStringStubValue

        public static final java.lang.String kWStringStubValue
        See Also:
        Constant Field Values
      • kWStringValueRepID

        public static final java.lang.String kWStringValueRepID
        See Also:
        Constant Field Values
      • kClassDescValueHash

        public static final java.lang.String kClassDescValueHash
      • kClassDescStubValue

        public static final java.lang.String kClassDescStubValue
        See Also:
        Constant Field Values
      • kClassDescTypeStr

        public static final java.lang.String kClassDescTypeStr
        See Also:
        Constant Field Values
      • kClassDescValueRepID

        public static final java.lang.String kClassDescValueRepID
      • kObjectValueHash

        public static final java.lang.String kObjectValueHash
        See Also:
        Constant Field Values
      • kObjectStubValue

        public static final java.lang.String kObjectStubValue
        See Also:
        Constant Field Values
      • kSequenceValueHash

        public static final java.lang.String kSequenceValueHash
        See Also:
        Constant Field Values
      • kPrimitiveSequenceValueHash

        public static final java.lang.String kPrimitiveSequenceValueHash
        See Also:
        Constant Field Values
      • kSerializableValueHash

        public static final java.lang.String kSerializableValueHash
        See Also:
        Constant Field Values
      • kSerializableStubValue

        public static final java.lang.String kSerializableStubValue
        See Also:
        Constant Field Values
      • kExternalizableValueHash

        public static final java.lang.String kExternalizableValueHash
        See Also:
        Constant Field Values
      • kExternalizableStubValue

        public static final java.lang.String kExternalizableStubValue
        See Also:
        Constant Field Values
      • kRemoteValueHash

        public static final java.lang.String kRemoteValueHash
        See Also:
        Constant Field Values
      • kRemoteStubValue

        public static final java.lang.String kRemoteStubValue
        See Also:
        Constant Field Values
      • kRemoteValueRepID

        public static final java.lang.String kRemoteValueRepID
        See Also:
        Constant Field Values
      • kSpecialArrayTypeStrings

        public static final java.util.Hashtable<java.lang.String,​java.lang.StringBuffer> kSpecialArrayTypeStrings
      • kSpecialCasesRepIDs

        public static final java.util.Hashtable<java.lang.Class<?>,​java.lang.String> kSpecialCasesRepIDs
      • kSpecialCasesStubValues

        public static final java.util.Hashtable<java.lang.Class<?>,​java.lang.String> kSpecialCasesStubValues
      • kSpecialCasesVersions

        public static final java.util.Hashtable<java.lang.Class<?>,​java.lang.String> kSpecialCasesVersions
      • kSpecialCasesClasses

        public static final java.util.Hashtable<java.lang.String,​java.lang.Class<?>> kSpecialCasesClasses
      • kSpecialCasesArrayPrefix

        public static final java.util.Hashtable<java.lang.Class<?>,​java.lang.String> kSpecialCasesArrayPrefix
      • kSpecialPrimitives

        public static final java.util.Hashtable<java.lang.String,​java.lang.String> kSpecialPrimitives
      • ASCII_HEX

        private static final byte[] ASCII_HEX
        Used to convert ascii to hex.
      • kjava_rmi_Remote

        public static final java.lang.String kjava_rmi_Remote
      • korg_omg_CORBA_Object

        public static final java.lang.String korg_omg_CORBA_Object
    • Constructor Detail

      • RepositoryId

        RepositoryId()
      • RepositoryId

        RepositoryId​(java.lang.String aRepId)
    • Method Detail

      • getUnqualifiedName

        public final java.lang.String getUnqualifiedName()
      • getDefinedInId

        public final java.lang.String getDefinedInId()
      • getTypeString

        public final java.lang.String getTypeString()
      • getVersionString

        public final java.lang.String getVersionString()
      • getSerialVersionUID

        public final java.lang.String getSerialVersionUID()
      • getActualSerialVersionUID

        public final java.lang.String getActualSerialVersionUID()
      • getSerialVersionUIDAsLong

        public final long getSerialVersionUIDAsLong()
      • getActualSerialVersionUIDAsLong

        public final long getActualSerialVersionUIDAsLong()
      • isRMIValueType

        public final boolean isRMIValueType()
      • isIDLType

        public final boolean isIDLType()
      • getRepositoryId

        public final java.lang.String getRepositoryId()
      • getByteArray

        public static byte[] getByteArray​(java.lang.String repStr)
      • setByteArray

        public static void setByteArray​(java.lang.String repStr,
                                        byte[] repStrBytes)
      • isSequence

        public final boolean isSequence()
      • isSupportedFormat

        public final boolean isSupportedFormat()
      • getClassName

        public final java.lang.String getClassName()
      • getAnyClassFromType

        public final java.lang.Class<?> getAnyClassFromType()
                                                     throws java.lang.ClassNotFoundException
        Throws:
        java.lang.ClassNotFoundException
      • getClassFromType

        public final java.lang.Class<?> getClassFromType()
                                                  throws java.lang.ClassNotFoundException
        Throws:
        java.lang.ClassNotFoundException
      • getClassFromType

        public final java.lang.Class<?> getClassFromType​(java.lang.Class<?> expectedType,
                                                         java.lang.String codebase)
                                                  throws java.lang.ClassNotFoundException
        Throws:
        java.lang.ClassNotFoundException
      • getClassFromType

        public final java.lang.Class<?> getClassFromType​(java.lang.String url)
                                                  throws java.lang.ClassNotFoundException,
                                                         java.net.MalformedURLException
        Throws:
        java.lang.ClassNotFoundException
        java.net.MalformedURLException
      • toString

        public final java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • useFullValueDescription

        public static boolean useFullValueDescription​(java.lang.Class clazz,
                                                      java.lang.String repositoryID)
                                               throws java.io.IOException
        Checks to see if the FullValueDescription should be retrieved.
        Parameters:
        clazz - The type to get description for
        repositoryID - The repository ID
        Returns:
        If full description should be retrieved
        Throws:
        java.io.IOException - If suids do not match or if the repositoryID is not an RMIValueType.
      • useFullValueDescription

        public static boolean useFullValueDescription​(java.lang.Class<?> clazz,
                                                      ClassInfoCache.ClassInfo cinfo,
                                                      java.lang.String repositoryID)
                                               throws java.io.IOException
        Checks to see if the FullValueDescription should be retrieved.
        Parameters:
        clazz - The type to get description for
        cinfo - The ClassInfo for the type.
        repositoryID - The repository ID
        Returns:
        If full description should be retrieved
        Throws:
        java.io.IOException - If suids do not match or if the repositoryID is not an RMIValueType.
      • createHashString

        private static java.lang.String createHashString​(java.lang.Class<?> clazz)
      • createSequenceRepID

        public static java.lang.String createSequenceRepID​(java.lang.Object ser)
        Creates a repository ID for a sequence. This is for expert users only as this method assumes the object passed is an array. If passed an object that is not an array, it will produce a rep id for a sequence of zero length. This would be an error.
        Parameters:
        ser - The Java object to create a repository ID for
        Returns:
        Created repository ID
      • createSequenceRepID

        public static java.lang.String createSequenceRepID​(java.lang.Class<?> clazz)
        Creates a repository ID for a sequence. This is for expert users only as this method assumes the object passed is an array. If passed an object that is not an array, it will produce a malformed rep id.
        Parameters:
        clazz - The Java class to create a repository ID for
        Returns:
        Created repository ID
      • createForSpecialCase

        public static java.lang.String createForSpecialCase​(java.lang.Class<?> clazz)
      • createForSpecialCase

        public static java.lang.String createForSpecialCase​(java.lang.Class<?> clazz,
                                                            ClassInfoCache.ClassInfo cinfo)
      • createForSpecialCase

        public static java.lang.String createForSpecialCase​(java.io.Serializable ser)
      • createForJavaType

        public static java.lang.String createForJavaType​(java.io.Serializable ser)
                                                  throws TypeMismatchException
        Creates a repository ID for a normal Java Type.
        Parameters:
        ser - The Java object to create a repository ID for
        Returns:
        Created repository ID
        Throws:
        TypeMismatchException - if ser implements the org.omg.CORBA.portable.IDLEntity interface which indicates it is an IDL Value type.
      • createForJavaType

        public static java.lang.String createForJavaType​(java.lang.Class<?> clz,
                                                         ClassInfoCache.ClassInfo cinfo)
                                                  throws TypeMismatchException
        Creates a repository ID for a normal Java Type.
        Parameters:
        clz - The Java class to create a repository ID for
        cinfo - ClassInfo; may be null
        Returns:
        Created repository ID
        Throws:
        TypeMismatchException - if ser implements the * org.omg.CORBA.portable.IDLEntity interface which indicates it is an IDL Value type.
      • createForIDLType

        public static java.lang.String createForIDLType​(java.lang.Class<?> ser,
                                                        int major,
                                                        int minor)
                                                 throws TypeMismatchException
        Creates a repository ID for an IDL Java Type.
        Parameters:
        ser - The IDL Value object to create a repository ID for
        major - The major version number
        minor - The minor version number
        Returns:
        Created repository ID
        Throws:
        TypeMismatchException - if ser does not implement the org.omg.CORBA.portable.IDLEntity interface which indicates it is an IDL Value type.
      • getIdFromHelper

        private static java.lang.String getIdFromHelper​(java.lang.Class<?> clazz)
      • createForAnyType

        public static java.lang.String createForAnyType​(java.lang.Class<?> type)
      • createForAnyType

        public static java.lang.String createForAnyType​(java.lang.Class<?> type,
                                                        ClassInfoCache.ClassInfo cinfo)
        Createa a repository ID for the type if it is either a java type or an IDL type.
        Parameters:
        type - The type to create rep. id for
        cinfo - The ClassInfo for the type (pre-computed elsewhere to save time)
        Returns:
        The rep. id.
      • isAbstractBase

        public static boolean isAbstractBase​(java.lang.Class<?> clazz)
      • isAnyRequired

        public static boolean isAnyRequired​(java.lang.Class clazz)
      • fromHex

        public static long fromHex​(java.lang.String hexNumber)
      • convertToISOLatin1

        public static java.lang.String convertToISOLatin1​(java.lang.String name)
        Convert strings with illegal IDL identifier characters.

        Section 5.5.7 of OBV spec.

        Parameters:
        name - String to convert
        Returns:
        Converted String
      • convertFromISOLatin1

        private static java.lang.String convertFromISOLatin1​(java.lang.String name)
        Convert strings with ISO Latin 1 escape sequences back to original strings.

        Section 5.5.7 of OBV spec.

      • delete

        private static java.lang.String delete​(java.lang.String str,
                                               int from,
                                               int to)
      • replace

        private static java.lang.String replace​(java.lang.String target,
                                                java.lang.String arg,
                                                java.lang.String source)
      • computeValueTag

        public static int computeValueTag​(boolean codeBasePresent,
                                          int typeInfo,
                                          boolean chunkedEncoding)
      • isCodeBasePresent

        public static boolean isCodeBasePresent​(int value_tag)
      • getTypeInfo

        public static int getTypeInfo​(int value_tag)
      • isChunkedEncoding

        public static boolean isChunkedEncoding​(int value_tag)
      • getServerURL

        public static java.lang.String getServerURL()