Package org.glassfish.rmic
Class Main
- java.lang.Object
-
- org.glassfish.rmic.Main
-
- All Implemented Interfaces:
Constants,Constants,RuntimeConstants
- Direct Known Subclasses:
Main
public class Main extends java.lang.Object implements Constants
Main "rmic" program. WARNING: The contents of this source file are not part of any supported API. Code that depends on them does so at its own risk: they are subject to change or removal without notice.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) java.util.Vector<java.lang.String>classes(package private) java.lang.StringclassPathString(package private) java.io.FiledestDir(package private) java.lang.Class<? extends BatchEnvironment>environmentClass(package private) intflags(package private) java.lang.String[]generatorArgs(package private) java.util.Vector<Generator>generators(package private) booleaniiopGeneration(package private) booleankeepGenerated(package private) booleannocompile(package private) booleannowrite(package private) java.io.OutputStreamoutThe stream where error message are printed.(package private) java.lang.StringprogramName of the program.private static java.util.ResourceBundleresourcesprivate static java.util.ResourceBundleresourcesExtprivate static booleanresourcesInitialized(package private) java.lang.StringsourcePathArg(package private) booleanstatus(package private) java.lang.StringsysClassPathArg(package private) longtm-
Fields inherited from interface org.glassfish.rmic.Constants
idRemote, idRemoteException
-
Fields inherited from interface org.glassfish.rmic.tools.java.Constants
ABSTRACT, ACCM_CLASS, ACCM_FIELD, ACCM_INNERCLASS, ACCM_MEMBER, ACCM_METHOD, ADD, AND, ARRAY, ARRAYACCESS, ASGADD, ASGBITAND, ASGBITOR, ASGBITXOR, ASGDIV, ASGLSHIFT, ASGMUL, ASGREM, ASGRSHIFT, ASGSUB, ASGURSHIFT, ASSIGN, ATT_ALL, ATT_ALLCLASSES, ATT_CODE, BITAND, BITNOT, BITOR, BITXOR, BOOLEAN, BOOLEANVAL, BREAK, BYTE, BYTEVAL, CASE, CAST, CATCH, CHAR, CHARVAL, CLASS, COLON, COMMA, COMMENT, COND, CONST, CONTINUE, CONVERT, CS_BINARY, CS_CHECKED, CS_COMPILED, CS_NOTFOUND, CS_PARSED, CS_SOURCE, CS_UNDECIDED, CS_UNDEFINED, CT_BLOCK, CT_BRANCH_FALSE, CT_BRANCH_TRUE, CT_CASE, CT_FIKT_METHOD, CT_FIKT_RET, CT_FIRST_KIND, CT_LAST_KIND, CT_METHOD, CT_SWITH_WO_DEF, DEC, DECLARATION, DEFAULT, DIV, DO, DOUBLE, DOUBLEVAL, ELSE, EQ, ERROR, EXPR, EXPRESSION, EXTENDS, F_COVDATA, F_COVERAGE, F_DEBUG_LINES, F_DEBUG_SOURCE, F_DEBUG_VARS, F_DEPENDENCIES, F_DEPRECATION, F_DUMP, F_ERRORSREPORTED, F_OPT, F_OPT_INTERCLASS, F_PRINT_DEPENDENCIES, F_STRICTDEFAULT, F_VERBOSE, F_VERSION12, F_WARNINGS, FALSE, FIELD, FINAL, FINALLY, FLOAT, FLOATVAL, FOR, GE, GOTO, GT, idAppend, idClass, idClassInit, idClone, idCode, idConstantValue, idCoverageTable, idDeprecated, idDocumentation, IDENT, idExceptions, idFinallyReturnValue, idGetClass, idInit, idInnerClasses, idJavaIoSerializable, idJavaLang, idJavaLangClass, idJavaLangCloneable, idJavaLangError, idJavaLangException, idJavaLangObject, idJavaLangRuntimeException, idJavaLangString, idJavaLangStringBuffer, idJavaLangThrowable, idLength, idLineNumberTable, idLocalVariableTable, idNew, idNull, idSourceFile, idStar, idSuper, idSynthetic, idThis, idToString, idTYPE, idValueOf, IF, IMPLEMENTS, IMPORT, INC, INLINEMETHOD, INLINENEWINSTANCE, INLINERETURN, INSTANCEOF, INT, INTERFACE, INTVAL, LBRACE, LE, LENGTH, LONG, LONGVAL, LPAREN, LSHIFT, LSQBRACKET, LT, M_ABSTRACT, M_ANONYMOUS, M_DEPRECATED, M_FINAL, M_INLINEABLE, M_INTERFACE, M_LOCAL, M_NATIVE, M_PRIVATE, M_PROTECTED, M_PUBLIC, M_STATIC, M_STRICTFP, M_SYNCHRONIZED, M_SYNTHETIC, M_TRANSIENT, M_VOLATILE, MAXFILESIZE, MAXLINENUMBER, METHOD, MM_CLASS, MM_FIELD, MM_MEMBER, MM_METHOD, MUL, NATIVE, NE, NEG, NEW, NEWARRAY, NEWFROMNAME, NEWINSTANCE, NOT, NULL, opNames, opPrecedence, OR, PACKAGE, paraDeprecated, POS, POSTDEC, POSTINC, PREDEC, prefixAccess, prefixArray, prefixClass, prefixLoc, prefixThis, prefixVal, PREINC, PRIVATE, PROTECTED, PUBLIC, QUESTIONMARK, RBRACE, REM, RETURN, RPAREN, RSHIFT, RSQBRACKET, SEMICOLON, SHORT, SHORTVAL, SIG_INNERCLASS, SIGC_INNERCLASS, STAT, STATIC, STRICTFP, STRINGVAL, SUB, SUPER, SWITCH, SYNCHRONIZED, TC_ARRAY, TC_BOOLEAN, TC_BYTE, TC_CHAR, TC_CLASS, TC_DOUBLE, TC_ERROR, TC_FLOAT, TC_INT, TC_LONG, TC_METHOD, TC_NULL, TC_SHORT, TC_VOID, THIS, THROW, THROWS, TM_ARRAY, TM_BOOLEAN, TM_BYTE, TM_CHAR, TM_CLASS, TM_DOUBLE, TM_ERROR, TM_FLOAT, TM_INT, TM_INT32, TM_INTEGER, TM_LONG, TM_METHOD, TM_NULL, TM_NUM32, TM_NUM64, TM_NUMBER, TM_REAL, TM_REFERENCE, TM_SHORT, TM_VOID, tracing, TRANSIENT, TRUE, TRY, TYPE, URSHIFT, VARDECLARATION, VOID, VOLATILE, WHEREOFFSETBITS, WHILE
-
Fields inherited from interface org.glassfish.rmic.tools.java.RuntimeConstants
ACC_ABSTRACT, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_TRANSIENT, ACC_VOLATILE, CONSTANT_CLASS, CONSTANT_DOUBLE, CONSTANT_FIELD, CONSTANT_FLOAT, CONSTANT_INTEGER, CONSTANT_INTERFACEMETHOD, CONSTANT_INVOKEDYNAMIC, CONSTANT_LONG, CONSTANT_METHOD, CONSTANT_METHODHANDLE, CONSTANT_METHODTYPE, CONSTANT_NAMEANDTYPE, CONSTANT_STRING, CONSTANT_UNICODE, CONSTANT_UTF8, JAVA_DEFAULT_MINOR_VERSION, JAVA_DEFAULT_VERSION, JAVA_MAGIC, JAVA_MAX_SUPPORTED_MINOR_VERSION, JAVA_MAX_SUPPORTED_VERSION, JAVA_MIN_SUPPORTED_VERSION, opc_aaload, opc_aastore, opc_aconst_null, opc_aload, opc_aload_0, opc_aload_1, opc_aload_2, opc_aload_3, opc_anewarray, opc_areturn, opc_arraylength, opc_astore, opc_astore_0, opc_astore_1, opc_astore_2, opc_astore_3, opc_athrow, opc_baload, opc_bastore, opc_bipush, opc_breakpoint, opc_caload, opc_castore, opc_checkcast, opc_d2f, opc_d2i, opc_d2l, opc_dadd, opc_daload, opc_dastore, opc_dcmpg, opc_dcmpl, opc_dconst_0, opc_dconst_1, opc_ddiv, opc_dead, opc_dload, opc_dload_0, opc_dload_1, opc_dload_2, opc_dload_3, opc_dmul, opc_dneg, opc_drem, opc_dreturn, opc_dstore, opc_dstore_0, opc_dstore_1, opc_dstore_2, opc_dstore_3, opc_dsub, opc_dup, opc_dup_x1, opc_dup_x2, opc_dup2, opc_dup2_x1, opc_dup2_x2, opc_f2d, opc_f2i, opc_f2l, opc_fadd, opc_faload, opc_fastore, opc_fcmpg, opc_fcmpl, opc_fconst_0, opc_fconst_1, opc_fconst_2, opc_fdiv, opc_fload, opc_fload_0, opc_fload_1, opc_fload_2, opc_fload_3, opc_fmul, opc_fneg, opc_frem, opc_freturn, opc_fstore, opc_fstore_0, opc_fstore_1, opc_fstore_2, opc_fstore_3, opc_fsub, opc_getfield, opc_getstatic, opc_goto, opc_goto_w, opc_i2b, opc_i2c, opc_i2d, opc_i2f, opc_i2l, opc_i2s, opc_iadd, opc_iaload, opc_iand, opc_iastore, opc_iconst_0, opc_iconst_1, opc_iconst_2, opc_iconst_3, opc_iconst_4, opc_iconst_5, opc_iconst_m1, opc_idiv, opc_if_acmpeq, opc_if_acmpne, opc_if_icmpeq, opc_if_icmpge, opc_if_icmpgt, opc_if_icmple, opc_if_icmplt, opc_if_icmpne, opc_ifeq, opc_ifge, opc_ifgt, opc_ifle, opc_iflt, opc_ifne, opc_ifnonnull, opc_ifnull, opc_iinc, opc_iload, opc_iload_0, opc_iload_1, opc_iload_2, opc_iload_3, opc_imul, opc_ineg, opc_instanceof, opc_invokedynamic, opc_invokeinterface, opc_invokespecial, opc_invokestatic, opc_invokevirtual, opc_ior, opc_irem, opc_ireturn, opc_ishl, opc_ishr, opc_istore, opc_istore_0, opc_istore_1, opc_istore_2, opc_istore_3, opc_isub, opc_iushr, opc_ixor, opc_jsr, opc_jsr_w, opc_l2d, opc_l2f, opc_l2i, opc_label, opc_ladd, opc_laload, opc_land, opc_lastore, opc_lcmp, opc_lconst_0, opc_lconst_1, opc_ldc, opc_ldc_w, opc_ldc2_w, opc_ldiv, opc_lload, opc_lload_0, opc_lload_1, opc_lload_2, opc_lload_3, opc_lmul, opc_lneg, opc_lookupswitch, opc_lor, opc_lrem, opc_lreturn, opc_lshl, opc_lshr, opc_lstore, opc_lstore_0, opc_lstore_1, opc_lstore_2, opc_lstore_3, opc_lsub, opc_lushr, opc_lxor, opc_monitorenter, opc_monitorexit, opc_multianewarray, opc_new, opc_newarray, opc_nop, opc_pop, opc_pop2, opc_putfield, opc_putstatic, opc_ret, opc_return, opc_saload, opc_sastore, opc_sipush, opc_swap, opc_tableswitch, opc_try, opc_wide, opcLengths, opcNames, SIG_ARRAY, SIG_BOOLEAN, SIG_BYTE, SIG_CHAR, SIG_CLASS, SIG_DOUBLE, SIG_ENDCLASS, SIG_ENDMETHOD, SIG_FLOAT, SIG_INT, SIG_LONG, SIG_METHOD, SIG_PACKAGE, SIG_SHORT, SIG_VOID, SIGC_ARRAY, SIGC_BOOLEAN, SIGC_BYTE, SIGC_CHAR, SIGC_CLASS, SIGC_DOUBLE, SIGC_ENDCLASS, SIGC_ENDMETHOD, SIGC_FLOAT, SIGC_INT, SIGC_LONG, SIGC_METHOD, SIGC_PACKAGE, SIGC_SHORT, SIGC_VOID, T_BOOLEAN, T_BYTE, T_CHAR, T_CLASS, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT
-
-
Constructor Summary
Constructors Constructor Description Main(java.io.OutputStream out, java.lang.String program)Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected GeneratoraddGenerator(java.lang.String arg)Instantiate and add a generator to the generators array.protected booleancheckGeneratorArg(java.lang.String[] argv, int currentIndex)If this argument is for a generator, instantiate it, call parseArgs(...) and add generator to generators vector.booleancompile(java.lang.String[] argv)Run the compilervoidcompileAllClasses(BatchEnvironment env)booleancompileClass(ClassDeclaration c, java.io.ByteArrayOutputStream buf, BatchEnvironment env)(package private) booleandisplayErrors(BatchEnvironment env)private booleandoCompile()Do the compile with the switches and files already suppliedvoiderror(java.lang.String msg)Top level error message.voiderror(java.lang.String msg, java.lang.String arg1)voiderror(java.lang.String msg, java.lang.String arg1, java.lang.String arg2)(package private) voidgenerateClass(BatchEnvironment env, Identifier implClassName)private voidgenerateClasses(BatchEnvironment env)protected java.lang.String[]getArray(java.lang.String name, boolean mustExist)Grab a resource string and parse it into an array of strings.(package private) static IdentifiergetClassIdentifier(BatchEnvironment env, java.lang.String className)java.io.FilegetDestinationDir()Get the destination directory.BatchEnvironmentgetEnv()Get the correct type of BatchEnvironmentprivate java.lang.StringgetErrorSummary(BatchEnvironment env)(package private) java.lang.String[]getGeneratedClassNames(BatchEnvironment environment)static java.lang.StringgetString(java.lang.String key)Return the string value of a named resource in the rmic.properties resource bundle.static java.lang.StringgetText(java.lang.String key)static java.lang.StringgetText(java.lang.String key, int num)static java.lang.StringgetText(java.lang.String key, java.lang.String arg0)static java.lang.StringgetText(java.lang.String key, java.lang.String arg0, java.lang.String arg1)static java.lang.StringgetText(java.lang.String key, java.lang.String arg0, java.lang.String arg1, java.lang.String arg2)private java.lang.StringgetWarningSummary(BatchEnvironment env)private static voidinitResources()static voidmain(java.lang.String[] argv)Main programvoidoutput(java.lang.String msg)Output a message.booleanparseArgs(java.lang.String... argv)Parse the arguments for compile.voidusage()Usage
-
-
-
Field Detail
-
sourcePathArg
java.lang.String sourcePathArg
-
sysClassPathArg
java.lang.String sysClassPathArg
-
classPathString
java.lang.String classPathString
-
destDir
java.io.File destDir
-
flags
int flags
-
tm
long tm
-
classes
java.util.Vector<java.lang.String> classes
-
nowrite
boolean nowrite
-
nocompile
boolean nocompile
-
keepGenerated
boolean keepGenerated
-
status
boolean status
-
generatorArgs
java.lang.String[] generatorArgs
-
generators
java.util.Vector<Generator> generators
-
environmentClass
java.lang.Class<? extends BatchEnvironment> environmentClass
-
iiopGeneration
boolean iiopGeneration
-
program
java.lang.String program
Name of the program.
-
out
java.io.OutputStream out
The stream where error message are printed.
-
resourcesInitialized
private static boolean resourcesInitialized
-
resources
private static java.util.ResourceBundle resources
-
resourcesExt
private static java.util.ResourceBundle resourcesExt
-
-
Method Detail
-
output
public void output(java.lang.String msg)
Output a message.
-
error
public void error(java.lang.String msg)
Top level error message. This method is called when the environment could not be set up yet.
-
error
public void error(java.lang.String msg, java.lang.String arg1)
-
error
public void error(java.lang.String msg, java.lang.String arg1, java.lang.String arg2)
-
usage
public void usage()
Usage
-
compile
public boolean compile(java.lang.String[] argv)
Run the compiler
-
getDestinationDir
public java.io.File getDestinationDir()
Get the destination directory.
-
parseArgs
public boolean parseArgs(java.lang.String... argv)
Parse the arguments for compile.
-
checkGeneratorArg
protected boolean checkGeneratorArg(java.lang.String[] argv, int currentIndex)If this argument is for a generator, instantiate it, call parseArgs(...) and add generator to generators vector. Returns false on error.
-
addGenerator
protected Generator addGenerator(java.lang.String arg)
Instantiate and add a generator to the generators array.
-
getArray
protected java.lang.String[] getArray(java.lang.String name, boolean mustExist)Grab a resource string and parse it into an array of strings. Assumes comma separated list.- Parameters:
name- The resource name.mustExist- If true, throws error if resource does not exist. If false and resource does not exist, returns zero element array.
-
getEnv
public BatchEnvironment getEnv()
Get the correct type of BatchEnvironment
-
doCompile
private boolean doCompile()
Do the compile with the switches and files already supplied
-
generateClasses
private void generateClasses(BatchEnvironment env)
-
generateClass
void generateClass(BatchEnvironment env, Identifier implClassName)
-
displayErrors
boolean displayErrors(BatchEnvironment env)
-
getErrorSummary
private java.lang.String getErrorSummary(BatchEnvironment env)
-
getWarningSummary
private java.lang.String getWarningSummary(BatchEnvironment env)
-
getClassIdentifier
static Identifier getClassIdentifier(BatchEnvironment env, java.lang.String className)
-
compileAllClasses
public void compileAllClasses(BatchEnvironment env) throws ClassNotFound, java.io.IOException, java.lang.InterruptedException
- Throws:
ClassNotFoundjava.io.IOExceptionjava.lang.InterruptedException
-
compileClass
public boolean compileClass(ClassDeclaration c, java.io.ByteArrayOutputStream buf, BatchEnvironment env) throws ClassNotFound, java.io.IOException, java.lang.InterruptedException
- Throws:
ClassNotFoundjava.io.IOExceptionjava.lang.InterruptedException
-
main
public static void main(java.lang.String[] argv)
Main program
-
getString
public static java.lang.String getString(java.lang.String key)
Return the string value of a named resource in the rmic.properties resource bundle. If the resource is not found, null is returned.
-
initResources
private static void initResources()
-
getText
public static java.lang.String getText(java.lang.String key)
-
getText
public static java.lang.String getText(java.lang.String key, int num)
-
getText
public static java.lang.String getText(java.lang.String key, java.lang.String arg0)
-
getText
public static java.lang.String getText(java.lang.String key, java.lang.String arg0, java.lang.String arg1)
-
getText
public static java.lang.String getText(java.lang.String key, java.lang.String arg0, java.lang.String arg1, java.lang.String arg2)
-
getGeneratedClassNames
java.lang.String[] getGeneratedClassNames(BatchEnvironment environment)
-
-