Class RemoteType

All Implemented Interfaces:
Cloneable, Constants, Constants, ContextElement, Constants, RuntimeConstants
Direct Known Subclasses:
AbstractType

public class RemoteType extends InterfaceType
RemoteType represents any non-special interface which inherits from java.rmi.Remote.

The static forRemote(...) method must be used to obtain an instance, and will return null if the ClassDefinition is non-conforming.

  • Constructor Details

    • RemoteType

      protected RemoteType(ContextStack stack, ClassDefinition classDef)
      Create a RemoteType instance for the given class. The resulting object is not yet completely initialized.
    • RemoteType

      protected RemoteType(ContextStack stack, ClassDefinition classDef, int typeCode)
      Create a RemoteType instance for the given class. The resulting object is not yet completely initialized.
  • Method Details

    • forRemote

      public static RemoteType forRemote(ClassDefinition classDef, ContextStack stack, boolean quiet)
      Create an RemoteType for the given class. If the class is not a properly formed or if some other error occurs, the return value will be null, and errors will have been reported to the supplied BatchEnvironment.
    • getTypeDescription

      public String getTypeDescription()
      Return a string describing this type.
      Specified by:
      getTypeDescription in class Type
    • couldBeRemote

      private static boolean couldBeRemote(boolean quiet, ContextStack stack, ClassDefinition classDef)
    • initialize

      private boolean initialize(boolean quiet, ContextStack stack)
      Initialize this instance.
    • isConformingRemoteInterface

      private boolean isConformingRemoteInterface(Vector<InterfaceType> directInterfaces, Vector<CompoundType.Method> directMethods, Vector<CompoundType.Member> directConstants, boolean quiet, ContextStack stack)
      Check to ensure that the interface and all it's methods and arguments conforms to the RMI/IDL java subset for remote interfaces as defined by the "Java to IDL Mapping" specification, section 4.
      Parameters:
      directInterfaces - All directly implmented interfaces will be added to this list.
      directMethods - All directly implemented methods (other than constructors and initializers) will be added to this list.
      directConstants - All constants defined by theInterface will be added to this list.
      quiet - True if should not report constraint failures.
      Returns:
      true if constraints satisfied, false otherwise.