1 /*
   2  * Copyright (c) 1998, 2007, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 
  26 /*
  27  * Licensed Materials - Property of IBM
  28  * RMI-IIOP v1.0
  29  * Copyright IBM Corp. 1998 1999  All Rights Reserved
  30  *
  31  */
  32 
  33 package sun.rmi.rmic.iiop;
  34 
  35 import sun.tools.java.Identifier;
  36 
  37 public interface Constants extends sun.rmi.rmic.Constants {
  38 
  39     // Identifiers for referenced classes:
  40 
  41     public static final Identifier idReplyHandler =
  42         Identifier.lookup("org.omg.CORBA.portable.ResponseHandler");
  43     public static final Identifier idStubBase =
  44         Identifier.lookup("javax.rmi.CORBA.Stub");
  45     public static final Identifier idTieBase =
  46         Identifier.lookup("org.omg.CORBA.portable.ObjectImpl");
  47     public static final Identifier idTieInterface =
  48         Identifier.lookup("javax.rmi.CORBA.Tie");
  49     public static final Identifier idPOAServantType =
  50         Identifier.lookup( "org.omg.PortableServer.Servant" ) ;
  51     public static final Identifier idDelegate =
  52         Identifier.lookup("org.omg.CORBA.portable.Delegate");
  53     public static final Identifier idOutputStream =
  54         Identifier.lookup("org.omg.CORBA.portable.OutputStream");
  55     public static final Identifier idExtOutputStream =
  56         Identifier.lookup("org.omg.CORBA_2_3.portable.OutputStream");
  57     public static final Identifier idInputStream =
  58         Identifier.lookup("org.omg.CORBA.portable.InputStream");
  59     public static final Identifier idExtInputStream =
  60         Identifier.lookup("org.omg.CORBA_2_3.portable.InputStream");
  61     public static final Identifier idSystemException =
  62         Identifier.lookup("org.omg.CORBA.SystemException");
  63     public static final Identifier idBadMethodException =
  64         Identifier.lookup("org.omg.CORBA.BAD_OPERATION");
  65     public static final Identifier idPortableUnknownException =
  66         Identifier.lookup("org.omg.CORBA.portable.UnknownException");
  67     public static final Identifier idApplicationException =
  68         Identifier.lookup("org.omg.CORBA.portable.ApplicationException");
  69     public static final Identifier idRemarshalException =
  70         Identifier.lookup("org.omg.CORBA.portable.RemarshalException");
  71     public static final Identifier idJavaIoExternalizable =
  72         Identifier.lookup("java.io.Externalizable");
  73     public static final Identifier idCorbaObject =
  74         Identifier.lookup("org.omg.CORBA.Object");
  75     public static final Identifier idCorbaORB =
  76         Identifier.lookup("org.omg.CORBA.ORB");
  77     public static final Identifier idClassDesc =
  78         Identifier.lookup("javax.rmi.CORBA.ClassDesc");
  79     public static final Identifier idJavaIoIOException =
  80         Identifier.lookup("java.io.IOException");
  81     public static final Identifier idIDLEntity =
  82         Identifier.lookup("org.omg.CORBA.portable.IDLEntity");
  83     public static final Identifier idValueBase =
  84         Identifier.lookup("org.omg.CORBA.portable.ValueBase");
  85     public static final Identifier idBoxedRMI =
  86         Identifier.lookup("org.omg.boxedRMI");
  87     public static final Identifier idBoxedIDL =
  88         Identifier.lookup("org.omg.boxedIDL");
  89     public static final Identifier idCorbaUserException =
  90         Identifier.lookup("org.omg.CORBA.UserException");
  91 
  92 
  93     // Identifiers for primitive types:
  94 
  95     public static final Identifier idBoolean =
  96         Identifier.lookup("boolean");
  97     public static final Identifier idByte =
  98         Identifier.lookup("byte");
  99     public static final Identifier idChar =
 100         Identifier.lookup("char");
 101     public static final Identifier idShort =
 102         Identifier.lookup("short");
 103     public static final Identifier idInt =
 104         Identifier.lookup("int");
 105     public static final Identifier idLong =
 106         Identifier.lookup("long");
 107     public static final Identifier idFloat =
 108         Identifier.lookup("float");
 109     public static final Identifier idDouble =
 110         Identifier.lookup("double");
 111     public static final Identifier idVoid =
 112         Identifier.lookup("void");
 113 
 114     // IndentingWriter constructor args:
 115 
 116     public static final int INDENT_STEP = 4;
 117     public static final int TAB_SIZE = Integer.MAX_VALUE; // No tabs.
 118 
 119     // Type status codes:
 120 
 121     public static final int STATUS_PENDING = 0;
 122     public static final int STATUS_VALID = 1;
 123     public static final int STATUS_INVALID = 2;
 124 
 125     // Java Names:
 126 
 127     public static final String NAME_SEPARATOR = ".";
 128     public static final String SERIAL_VERSION_UID = "serialVersionUID";
 129 
 130     // IDL Names:
 131 
 132     public static final String[] IDL_KEYWORDS = {
 133         "abstract",
 134         "any",
 135         "attribute",
 136         "boolean",
 137         "case",
 138         "char",
 139         "const",
 140         "context",
 141         "custom",
 142         "default",
 143         "double",
 144         "enum",
 145         "exception",
 146         "factory",
 147         "FALSE",
 148         "fixed",
 149         "float",
 150         "in",
 151         "inout",
 152         "interface",
 153         "long",
 154         "module",
 155         "native",
 156         "Object",
 157         "octet",
 158         "oneway",
 159         "out",
 160         "private",
 161         "public",
 162         "raises",
 163         "readonly",
 164         "sequence",
 165         "short",
 166         "string",
 167         "struct",
 168         "supports",
 169         "switch",
 170         "TRUE",
 171         "truncatable",
 172         "typedef",
 173         "unsigned",
 174         "union",
 175         "ValueBase",
 176         "valuetype",
 177         "void",
 178         "wchar",
 179         "wstring",
 180     };
 181 
 182 
 183     public static final String EXCEPTION_SUFFIX = "Exception";
 184     public static final String ERROR_SUFFIX = "Error";
 185     public static final String EX_SUFFIX = "Ex";
 186 
 187     public static final String IDL_REPOSITORY_ID_PREFIX = "IDL:";
 188     public static final String IDL_REPOSITORY_ID_VERSION = ":1.0";
 189 
 190     public static final String[]  IDL_CORBA_MODULE = {"CORBA"};
 191     public static final String[]  IDL_SEQUENCE_MODULE = {"org","omg","boxedRMI"};
 192     public static final String[]  IDL_BOXEDIDL_MODULE = {"org","omg","boxedIDL"};
 193 
 194     public static final String    IDL_CLASS = "ClassDesc";
 195     public static final String[]  IDL_CLASS_MODULE = {"javax","rmi","CORBA"};
 196 
 197     public static final String    IDL_IDLENTITY = "IDLEntity";
 198     public static final String    IDL_SERIALIZABLE = "Serializable";
 199     public static final String    IDL_EXTERNALIZABLE = "Externalizable";
 200     public static final String[]  IDL_JAVA_IO_MODULE = {"java","io"};
 201     public static final String[]  IDL_ORG_OMG_CORBA_MODULE = {"org","omg","CORBA"};
 202     public static final String[]  IDL_ORG_OMG_CORBA_PORTABLE_MODULE = {"org","omg","CORBA","portable"};
 203 
 204     public static final String    IDL_JAVA_LANG_OBJECT = "_Object";
 205     public static final String[]  IDL_JAVA_LANG_MODULE = {"java","lang"};
 206 
 207     public static final String    IDL_JAVA_RMI_REMOTE = "Remote";
 208     public static final String[]  IDL_JAVA_RMI_MODULE = {"java","rmi"};
 209 
 210     public static final String  IDL_SEQUENCE = "seq";
 211 
 212     public static final String  IDL_CONSTRUCTOR = "create";
 213 
 214     public static final String  IDL_NAME_SEPARATOR = "::";
 215     public static final String  IDL_BOOLEAN = "boolean";
 216     public static final String  IDL_BYTE = "octet";
 217     public static final String  IDL_CHAR = "wchar";
 218     public static final String  IDL_SHORT = "short";
 219     public static final String  IDL_INT = "long";
 220     public static final String  IDL_LONG = "long long";
 221     public static final String  IDL_FLOAT = "float";
 222     public static final String  IDL_DOUBLE = "double";
 223     public static final String  IDL_VOID = "void";
 224 
 225     public static final String  IDL_STRING = "WStringValue";
 226     public static final String  IDL_CONSTANT_STRING = "wstring";
 227     public static final String  IDL_CORBA_OBJECT = "Object";
 228     public static final String  IDL_ANY = "any";
 229 
 230     // File names:
 231 
 232     public static final String SOURCE_FILE_EXTENSION = ".java";
 233     public static final String IDL_FILE_EXTENSION = ".idl";
 234 
 235     // Type Codes:
 236 
 237     public static final int TYPE_VOID                   = 0x00000001;   // In PrimitiveType
 238     public static final int TYPE_BOOLEAN                = 0x00000002;   // In PrimitiveType
 239     public static final int TYPE_BYTE                   = 0x00000004;   // In PrimitiveType
 240     public static final int TYPE_CHAR                   = 0x00000008;   // In PrimitiveType
 241     public static final int TYPE_SHORT                  = 0x00000010;   // In PrimitiveType
 242     public static final int TYPE_INT                    = 0x00000020;   // In PrimitiveType
 243     public static final int TYPE_LONG                   = 0x00000040;   // In PrimitiveType
 244     public static final int TYPE_FLOAT                  = 0x00000080;   // In PrimitiveType
 245     public static final int TYPE_DOUBLE                 = 0x00000100;   // In PrimitiveType
 246 
 247     public static final int TYPE_STRING                 = 0x00000200;   // In SpecialClassType (String)
 248     public static final int TYPE_ANY                    = 0x00000400;   // In SpecialInterfaceType (Serializable,Externalizable)
 249     public static final int TYPE_CORBA_OBJECT   = 0x00000800;   // In SpecialInterfaceType (CORBA.Object,Remote)
 250 
 251     public static final int TYPE_REMOTE                 = 0x00001000;   // In RemoteType
 252     public static final int TYPE_ABSTRACT               = 0x00002000;   // In AbstractType
 253     public static final int TYPE_NC_INTERFACE   = 0x00004000;   // In NCInterfaceType
 254 
 255     public static final int TYPE_VALUE                  = 0x00008000;   // In ValueType
 256     public static final int TYPE_IMPLEMENTATION = 0x00010000;   // In ImplementationType
 257     public static final int TYPE_NC_CLASS               = 0x00020000;   // In NCClassType
 258 
 259     public static final int TYPE_ARRAY                  = 0x00040000;   // In ArrayType
 260     public static final int TYPE_JAVA_RMI_REMOTE = 0x00080000;  // In SpecialInterfaceType
 261 
 262     // Type code masks:
 263 
 264     public static final int TYPE_NONE                   = 0x00000000;
 265     public static final int TYPE_ALL                    = 0xFFFFFFFF;
 266     public static final int TYPE_MASK                   = 0x00FFFFFF;
 267     public static final int TM_MASK                             = 0xFF000000;
 268 
 269     // Type code modifiers:
 270 
 271     public static final int TM_PRIMITIVE                = 0x01000000;
 272     public static final int TM_COMPOUND                 = 0x02000000;
 273     public static final int TM_CLASS                    = 0x04000000;
 274     public static final int TM_INTERFACE                = 0x08000000;
 275     public static final int TM_SPECIAL_CLASS    = 0x10000000;
 276     public static final int TM_SPECIAL_INTERFACE= 0x20000000;
 277     public static final int TM_NON_CONFORMING   = 0x40000000;
 278     public static final int TM_INNER            = 0x80000000;
 279 
 280     // Attribute kinds...
 281 
 282     public static final int ATTRIBUTE_NONE = 0;     // Not an attribute.
 283     public static final int ATTRIBUTE_IS = 1;       // read-only, had "is" prefix.
 284     public static final int ATTRIBUTE_GET = 2;      // read-only, had "get" prefix.
 285     public static final int ATTRIBUTE_IS_RW = 3;    // read-write, had "is" prefix.
 286     public static final int ATTRIBUTE_GET_RW = 4;   // read-write, had "get" prefix.
 287     public static final int ATTRIBUTE_SET = 5;      // had "set" prefix.
 288 
 289     public static final String[] ATTRIBUTE_WIRE_PREFIX = {
 290         "",
 291         "_get_",
 292         "_get_",
 293         "_get_",
 294         "_get_",
 295         "_set_",
 296     };
 297 }