Java ClassLoader setClassAssertionStatus() Method



Description

The Java ClassLoader setClassAssertionStatus() method sets the desired assertion status for the named top-level class in this class loader and any nested classes contained therein. If the named class is not a top-level class, this invocation will have no effect on the actual assertion status of any class.

Declaration

Following is the declaration for java.lang.ClassLoader.setClassAssertionStatus() method

public void setClassAssertionStatus(String className, boolean enabled)

Parameters

  • className − This is the fully qualified class name of the top-level class whose assertion status is to be set.

  • enabled − Set it as true if the named class is to have assertions enabled when (and if) it is initialized, false if the class is to have assertions disabled.

Return Value

This method does not return any value.

Exception

NA

Setting Assertion Status of Top Level Class of a ClassLoader Example

The following example shows the usage of java.lang.ClassLoader.setClassAssertionStatus() method. In this program, we've retrieved class of a ClassLoaderDemo. Then using getClassLoader(), we get the required ClassLoader and printed class loader class using getClass() and printed the parent class loader using getParent() method. Now using setClassAssertionStatus() method, we've set class assertion status settings associated with the class loader as true.

package com.tutorialspoint;

public class ClassLoaderDemo {

   public static void main(String[] args) throws Exception {
     
      Class cls = Class.forName("ClassLoaderDemo");

      // returns the ClassLoader object associated with this Class
      ClassLoader cLoader = cls.getClassLoader();
    
      System.out.println(cLoader.getClass());
    
      // returns the parent ClassLoader
      System.out.println(cLoader.getParent());
  
      // sets the desired assertion status 
      cLoader.setClassAssertionStatus("ClassLoaderDemo", true); 
   }
} 

Output

Let us compile and run the above program, this will produce the following result −

class jdk.internal.loader.ClassLoaders$AppClassLoader
jdk.internal.loader.ClassLoaders$PlatformClassLoader@4517d9a3

Resetting Assertion Status of Top Level Class of a ClassLoader Example

The following example shows the usage of java.lang.ClassLoader.setClassAssertionStatus() method. In this program, we've retrieved class of a ClassLoaderDemo. Then using getClassLoader(), we get the required ClassLoader and printed class loader class using getClass() and printed the parent class loader using getParent() method. Now using setClassAssertionStatus() method, we've set class assertion status settings associated with the class loader as false.

package com.tutorialspoint;

public class ClassLoaderDemo {

   public static void main(String[] args) throws Exception {
     
      Class cls = Class.forName("ClassLoaderDemo");

      // returns the ClassLoader object associated with this Class
      ClassLoader cLoader = cls.getClassLoader();
    
      System.out.println(cLoader.getClass());
    
      // returns the parent ClassLoader
      System.out.println(cLoader.getParent());
  
      // sets the desired assertion status 
      cLoader.setClassAssertionStatus("ClassLoaderDemo", false); 
   }
} 

Output

Let us compile and run the above program, this will produce the following result −

class jdk.internal.loader.ClassLoaders$AppClassLoader
jdk.internal.loader.ClassLoaders$PlatformClassLoader@4517d9a3
java_lang_classloader.htm
Advertisements