Compiler Class provides support and related services to Java code to Native Code. Native code is a form of code that can be said to run in a virtual machine (for example, [JVM]Java Virtual Machine).
Declaration:
public final class Compiler extends Object
Methods of Java Compiler Class
1. command()
The java.lang.Compiler.command() tests the argument type and performs some documented operations.
Syntax:
public static boolean command(Object argument)
Parameters:
- argument: needs to be compiler-specific.
Return: It returns the compiler-specific value.
Exception: It throws NullPointerException.
2. compileClass()
The java.lang.Compiler.compileClass() compiles the specified class.
Syntax:
public static boolean compileClass(Class c)
Parameters:
- c: class to be compiled.
Return: It returns true if the compilation succeeded. Else, false.
Exception: It throws NullPointerException.
3. enable()
The java.lang.Compiler.enable() cause compiler to start operation.
Syntax :
public static void enable()
Return: It returns nothing.
4. disable()
The java.lang.Compiler.disable() stops compiler to perform operations.
Syntax :
public static void disable()
Return: It returns nothing.
5. compileClasses()
The java.lang.Compiler.compileClasses() compiles the classes having the name as string – “str”.
Syntax:
public static boolean compileClasses(String string)
Parameters:
- str: name of the class to be compiled.
Return: It returns true if the classes are compiled successfully.
Exception: It throws NullPointerException.
Example:
// Java Program illustrating the use // of Compiler class Methods. import java.lang.*;
public class NewClass {
public static void main(String[] args)
{
CompilerClass geek = new CompilerClass();
// Use of enable() :
Compiler.enable();
// class CompilerDemo
Class c = geek.getClass();
System.out.println(c);
// Use of command() :
Object g = Compiler.command( "javac CompilerClass" );
System.out.println( "Value : " + g);
// Use of compileClass :
// Since it is not a subclass so there is no
// compiler for it
boolean check = Compiler.compileClass(c);
System.out.println(
"\nIs compilation successful ? : " + check);
String str = "CompilerClass" ;
boolean check1 = Compiler.compileClasses(str);
System.out.println(
"\nIs compilation successful using str ? : "
+ check1);
// Use of disable() :
Compiler.disable();
}
private static class CompilerClass {
public CompilerClass() {}
}
} |
Output:
class NewClass$CompilerClass Value : null Is compilation successful ? : false Is compilation successful using str ? : false
Note: The Compiler Class in Java inherits others methods from the Object class in Java.