Class IDLTypesUtil


  • public final class IDLTypesUtil
    extends java.lang.Object
    Utility class for testing RMI/IDL Types as defined in Section 1.2 of The Java Language to IDL Mapping. Note that these are static checks only. Runtime checks, such as those described in Section 1.2.3, #3, are not covered.
    • Constructor Summary

      Constructors 
      Constructor Description
      IDLTypesUtil()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String getAttributeNameForProperty​(java.lang.String propertyName)  
      IDLType getPrimitiveIDLTypeMapping​(java.lang.Class c)
      Return IDL Type name for primitive types as defined in Section 1.3.3 of Java2IDL spec or null if not a primitive type.
      IDLType getSpecialCaseIDLTypeMapping​(java.lang.Class c)
      Return IDL Type name for special case type mappings as defined in Table 1-1 of Java2IDL spec or null if given class is not a special type.
      private boolean hasCorrespondingReadProperty​(java.lang.reflect.Method writeProperty, java.lang.Class c, java.lang.String readPropertyPrefix)  
      boolean isArray​(java.lang.Class c)
      Section 1.2.5 Checks if a class is an array of a primitive, Remote Interface, IDLEntity, Exception, Serializable value or CORBA Object.
      boolean isCheckedException​(java.lang.Class c)  
      boolean isEntity​(java.lang.Class c)
      Section 1.2.8 Checks if a class is assignable to IDLEntity
      boolean isException​(java.lang.Class c)
      Section 1.2.6 Checks if a class is an Exception
      private boolean isHasCorrespondingReadProperty​(java.lang.reflect.Method readProperty, java.lang.Class c)  
      boolean isObjectReference​(java.lang.Class c)
      Section 1.2.7 If the class is a CORBA Object
      boolean isPrimitive​(java.lang.Class c)
      Section 1.2.2 Primitive Types Checks if a class is a primitive type
      boolean isPropertyAccessorMethod​(java.lang.reflect.Method method, java.lang.Class clazz)
      Return true if given method is legal property accessor as defined in Section 1.3.4.3 of Java2IDL spec.
      boolean isRemoteException​(java.lang.Class c)  
      private boolean isRemoteExceptionOrSuperClass​(java.lang.Class c)
      Implements Section 1.2.3, #2.
      boolean isRemoteInterface​(java.lang.Class c)
      Checks if a class if a valid Java RMI/IIOP interface
      boolean isValue​(java.lang.Class c)
      Section 1.2.4 Checks if a class is a Serializable value
      private boolean readHasCorrespondingIsProperty​(java.lang.reflect.Method readProperty, java.lang.Class c)  
      private void validateConstants​(java.lang.Class c)
      Implements 1.2.3 #6
      private void validateDirectInterfaces​(java.lang.Class c)
      Implements Section 1.2.3, #5.
      private void validateExceptions​(java.lang.reflect.Method method)
      Implements 1.2.3 #2 and #4
      void validateRemoteInterface​(java.lang.Class c)
      Validate a class to ensure it conforms to the rules for a Java RMI/IIOP interface.
      private boolean validPropertyExceptions​(java.lang.reflect.Method method)
      Returns true if the method's throw clause conforms to the exception restrictions for properties as defined in Section 1.3.4.3 of Java2IDL spec.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • IDLTypesUtil

        public IDLTypesUtil()
    • Method Detail

      • validateRemoteInterface

        public void validateRemoteInterface​(java.lang.Class c)
                                     throws IDLTypeException
        Validate a class to ensure it conforms to the rules for a Java RMI/IIOP interface.
        Parameters:
        c - Class to validate
        Throws:
        IDLTypeException - if not a valid RMI/IIOP interface.
      • isRemoteInterface

        public boolean isRemoteInterface​(java.lang.Class c)
        Checks if a class if a valid Java RMI/IIOP interface
        Parameters:
        c - Class to check
        Returns:
        If it is a remote interface
      • isPrimitive

        public boolean isPrimitive​(java.lang.Class c)
        Section 1.2.2 Primitive Types Checks if a class is a primitive type
        Parameters:
        c - Class to check
        Returns:
        If the class is a primitive type.
        See Also:
        Class.isPrimitive()
      • isValue

        public boolean isValue​(java.lang.Class c)
        Section 1.2.4 Checks if a class is a Serializable value
        Parameters:
        c - class to check
        Returns:
        if the class is Serializable
      • isArray

        public boolean isArray​(java.lang.Class c)
        Section 1.2.5 Checks if a class is an array of a primitive, Remote Interface, IDLEntity, Exception, Serializable value or CORBA Object.
        Parameters:
        c - Class to check
        Returns:
        If the class is an array
      • isException

        public boolean isException​(java.lang.Class c)
        Section 1.2.6 Checks if a class is an Exception
        Parameters:
        c - Class to check if it is an exception.
        Returns:
        True if a subclass of Exception
      • isRemoteException

        public boolean isRemoteException​(java.lang.Class c)
      • isCheckedException

        public boolean isCheckedException​(java.lang.Class c)
      • isObjectReference

        public boolean isObjectReference​(java.lang.Class c)
        Section 1.2.7 If the class is a CORBA Object
        Parameters:
        c - class to check if it is a CORBA Object
        Returns:
        if it is an object.
      • isEntity

        public boolean isEntity​(java.lang.Class c)
        Section 1.2.8 Checks if a class is assignable to IDLEntity
        Parameters:
        c - Class to check if it is an entity
        Returns:
        if the class is an entity.
      • isPropertyAccessorMethod

        public boolean isPropertyAccessorMethod​(java.lang.reflect.Method method,
                                                java.lang.Class clazz)
        Return true if given method is legal property accessor as defined in Section 1.3.4.3 of Java2IDL spec.
        Parameters:
        method - Method to check
        clazz - Class containing method
        Returns:
        If method if a legal accessor.
      • hasCorrespondingReadProperty

        private boolean hasCorrespondingReadProperty​(java.lang.reflect.Method writeProperty,
                                                     java.lang.Class c,
                                                     java.lang.String readPropertyPrefix)
      • readHasCorrespondingIsProperty

        private boolean readHasCorrespondingIsProperty​(java.lang.reflect.Method readProperty,
                                                       java.lang.Class c)
      • isHasCorrespondingReadProperty

        private boolean isHasCorrespondingReadProperty​(java.lang.reflect.Method readProperty,
                                                       java.lang.Class c)
      • getAttributeNameForProperty

        public java.lang.String getAttributeNameForProperty​(java.lang.String propertyName)
      • getPrimitiveIDLTypeMapping

        public IDLType getPrimitiveIDLTypeMapping​(java.lang.Class c)
        Return IDL Type name for primitive types as defined in Section 1.3.3 of Java2IDL spec or null if not a primitive type.
        Parameters:
        c - the class to get the mapping for
        Returns:
        the IDLType of the primitive, or null if the class is not a primitive.
      • getSpecialCaseIDLTypeMapping

        public IDLType getSpecialCaseIDLTypeMapping​(java.lang.Class c)
        Return IDL Type name for special case type mappings as defined in Table 1-1 of Java2IDL spec or null if given class is not a special type.
        Parameters:
        c - class to get special case mapping for
        Returns:
        The IDLType for the special case, or null if it is not a special case.
      • validateExceptions

        private void validateExceptions​(java.lang.reflect.Method method)
                                 throws IDLTypeException
        Implements 1.2.3 #2 and #4
        Throws:
        IDLTypeException
      • validPropertyExceptions

        private boolean validPropertyExceptions​(java.lang.reflect.Method method)
        Returns true if the method's throw clause conforms to the exception restrictions for properties as defined in Section 1.3.4.3 of Java2IDL spec. This means that for all exceptions E declared on the method, E isChecked => RemoteException.isAssignableFrom( E ).
      • isRemoteExceptionOrSuperClass

        private boolean isRemoteExceptionOrSuperClass​(java.lang.Class c)
        Implements Section 1.2.3, #2.
      • validateDirectInterfaces

        private void validateDirectInterfaces​(java.lang.Class c)
                                       throws IDLTypeException
        Implements Section 1.2.3, #5.
        Throws:
        IDLTypeException