< prev index next >

src/jdk.rmic/share/classes/sun/rmi/rmic/iiop/Type.java

Print this page




  34 
  35 import java.util.Vector;
  36 import java.util.Hashtable;
  37 import java.util.Enumeration;
  38 import java.io.IOException;
  39 import sun.tools.java.ClassDefinition;
  40 import sun.tools.java.ClassDeclaration;
  41 import sun.tools.java.Identifier;
  42 import sun.tools.java.ClassNotFound;
  43 import sun.tools.java.CompilerError;
  44 import sun.rmi.rmic.IndentingWriter;
  45 import java.util.HashSet;
  46 import com.sun.corba.se.impl.util.RepositoryId;
  47 import sun.rmi.rmic.Names;
  48 
  49 /**
  50  * Type is an abstract base class for a family of types which provide
  51  * conformance checking and name mapping as defined in the "Java to IDL
  52  * Mapping" OMG specification.  The family is composed of the following
  53  * fixed set of types:
  54  * <pre>
  55  *
  56  *                                              +- RemoteType <-- AbstractType
  57  *                                              |
  58  *                           +- InterfaceType <-+- SpecialInterfaceType
  59  *         +- PrimitiveType  |                  |
  60  *         |                 |                  +- NCInterfaceType
  61  *  Type <-+- CompoundType <-|
  62  *         |                 |                  +- ValueType
  63  *         +- ArrayType      |                  |
  64  *                           +- ClassType <-----+- ImplementationType
  65  *                                              |
  66  *                                              +- SpecialClassType
  67  *                                              |
  68  *                                              +- NCClassType
  69  *
  70  * </pre>
  71  * PrimitiveType represents a primitive or a void type.
  72  * <p>
  73  * CompoundType is an abstract base representing any non-special class
  74  * or interface type.
  75  * <p>
  76  * InterfaceType is an abstract base representing any non-special
  77  * interface type.
  78  * <p>
  79  * RemoteType represents any non-special interface which inherits
  80  * from java.rmi.Remote.
  81  * <p>
  82  * AbstractType represents any non-special interface which does not
  83  * inherit from java.rmi.Remote, for which all methods throw RemoteException.
  84  * <p>
  85  * SpecialInterfaceType represents any one of the following types:
  86  * <pre>
  87  *    java.rmi.Remote
  88  *    java.io.Serializable
  89  *    java.io.Externalizable
  90  * </pre>




  34 
  35 import java.util.Vector;
  36 import java.util.Hashtable;
  37 import java.util.Enumeration;
  38 import java.io.IOException;
  39 import sun.tools.java.ClassDefinition;
  40 import sun.tools.java.ClassDeclaration;
  41 import sun.tools.java.Identifier;
  42 import sun.tools.java.ClassNotFound;
  43 import sun.tools.java.CompilerError;
  44 import sun.rmi.rmic.IndentingWriter;
  45 import java.util.HashSet;
  46 import com.sun.corba.se.impl.util.RepositoryId;
  47 import sun.rmi.rmic.Names;
  48 
  49 /**
  50  * Type is an abstract base class for a family of types which provide
  51  * conformance checking and name mapping as defined in the "Java to IDL
  52  * Mapping" OMG specification.  The family is composed of the following
  53  * fixed set of types:
  54  * <pre>{@literal
  55  *
  56  *                                              +- RemoteType <-- AbstractType
  57  *                                              |
  58  *                           +- InterfaceType <-+- SpecialInterfaceType
  59  *         +- PrimitiveType  |                  |
  60  *         |                 |                  +- NCInterfaceType
  61  *  Type <-+- CompoundType <-|
  62  *         |                 |                  +- ValueType
  63  *         +- ArrayType      |                  |
  64  *                           +- ClassType <-----+- ImplementationType
  65  *                                              |
  66  *                                              +- SpecialClassType
  67  *                                              |
  68  *                                              +- NCClassType
  69  *
  70  * }</pre>
  71  * PrimitiveType represents a primitive or a void type.
  72  * <p>
  73  * CompoundType is an abstract base representing any non-special class
  74  * or interface type.
  75  * <p>
  76  * InterfaceType is an abstract base representing any non-special
  77  * interface type.
  78  * <p>
  79  * RemoteType represents any non-special interface which inherits
  80  * from java.rmi.Remote.
  81  * <p>
  82  * AbstractType represents any non-special interface which does not
  83  * inherit from java.rmi.Remote, for which all methods throw RemoteException.
  84  * <p>
  85  * SpecialInterfaceType represents any one of the following types:
  86  * <pre>
  87  *    java.rmi.Remote
  88  *    java.io.Serializable
  89  *    java.io.Externalizable
  90  * </pre>


< prev index next >