Open In App

Compiler Class in Java

Last Updated : 09 Feb, 2022
Improve
Improve
Like Article
Like
Save
Share
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.



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads