Open In App
Related Articles

Compiler Class in Java

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Report issue
Report

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

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



Last Updated : 09 Feb, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads