Java Class getProtectionDomain() Method



Description

The Java Class getProtectionDomain() method returns the ProtectionDomain of this class.

Declaration

Following is the declaration for java.lang.Class.getProtectionDomain() method

public ProtectionDomain getProtectionDomain()

Parameters

NA

Return Value

This method returns the ProtectionDomain of this class.

Exception

SecurityException − if a security manager exists and its checkPermission method doesn't allow getting the ProtectionDomain.

Getting ProtectionDomain of a Class Example

The following example shows the usage of java.lang.Class.getName() method. In this program, the class of the ClassDemo is retrieved using forName() method. Using getName(), we've retrieved the ProtectionDomain of the class and then printed it.

package com.tutorialspoint;

import java.security.ProtectionDomain;

public class ClassDemo {

   public static void main(String[] args) {

      try {
         Class cls = Class.forName("com.tutorialspoint.ClassDemo"); 

         // returns the name of the class
         System.out.println("Class = " + cls.getName());
      
         // returns the ProtectionDomain of this class.
         ProtectionDomain p = cls.getProtectionDomain();
         System.out.println(p);
      } catch(ClassNotFoundException ex) {
        System.out.println(ex.toString());
      }
   }
} 

Output

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

Class = com.tutorialspoint.ClassDemo
ProtectionDomain  (file:/C:/Users/Tutorialspoint/eclipse-workspace/Tutorialspoint/bin/ <no signer certificates>)
 jdk.internal.loader.ClassLoaders$AppClassLoader@5c647e05
 <no principals>
 java.security.Permissions@816f27d (
 ("java.io.FilePermission" "C:\Users\Tutorialspoint\eclipse-workspace\Tutorialspoint\bin\-" "read")
 ("java.lang.RuntimePermission" "exitVM")
)

Getting ProtectionDomain of ArrayList Example

The following example shows the usage of java.lang.Class.getName() method. In this program, the class of the ArrayList is retrieved. Using getName(), we've retrieved the ProtectionDomain of the class and then printed it.

package com.tutorialspoint;

import java.security.ProtectionDomain;
import java.util.ArrayList;

public class ClassDemo {

   public static void main(String[] args) {

      Class cls = ArrayList.class; 

      // returns the name of the class
      System.out.println("Class = " + cls.getName());

      // returns the ProtectionDomain of this class.
      ProtectionDomain p = cls.getProtectionDomain();
      System.out.println(p);
   }
} 

Output

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

Class = java.util.ArrayList
ProtectionDomain  null
 null
 <no principals>
 java.security.Permissions@33c7353a (
 ("java.security.AllPermission" "<all permissions>" "<all actions>")
)
java_lang_class.htm
Advertisements