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> |