Home » Java programming language

Java SecurityManager checkSetFactory() method with example

SecurityManager Class checkSetFactory() method: Here, we are going to learn about the checkSetFactory() method of SecurityManager Class with its syntax and example.
Submitted by Preeti Jain, on December 18, 2019

SecurityManager Class checkSetFactory() method

  • checkSetFactory() method is available in java.lang package.
  • checkSetFactory() method invokes checkPermission with the RuntimePermission("setFactory") permission and it is used to set the socket factory by using ServerSocket or it is used to set the Stream handler factory by using URL.
  • checkSetFactory() method is a non-static method, it is accessible with the class object only and if we try to access the method with the class name then we will get an error.
  • checkSetFactory() method may throw an exception at the time of set socket factory or stream handler factory.
    SecurityException – This exception may throw when the calling thread does not have the right to set the socket factory or stream handler factory.

Syntax:

    public void checkSetFactory();

Parameter(s):

  • It does not accept any parameter.

Return value:

The return type of this method is void, it returns nothing.

Example:

// Java program to demonstrate the example 
// of void checkSetFactory() method of SecurityManager 

public class CheckSetFactory extends SecurityManager {
    public static void main(String[] args) {
        // By using setProperty() method is to set the policy property 
        // with security manager
        System.setProperty("java.security.policy", "file:/C:/java.policy");
        // Instantiating a CheckSetFactory object
        CheckSetFactory csf = new CheckSetFactory();

        // By using setSecurityManager() method is to set the
        // security manager
        System.setSecurityManager(csf);

        // By using checkSetFactory() method is to
        // check restriction on factory methods
        csf.checkSetFactory();

        // Display the message
        System.out.println("Not Restricted..");
    }
}

Output

Exception in thread "main" java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "setFactory")
	at java.base/java.security.AccessControlContext.checkPermission(AccessControlContext.java:472)
	at java.base/java.security.AccessController.checkPermission(AccessController.java:897)
	at java.base/java.lang.SecurityManager.checkPermission(SecurityManager.java:322)
	at java.base/java.lang.SecurityManager.checkSetFactory(SecurityManager.java:1401)
	at CheckSetFactory.main(CheckSetFactory.java:18)


Comments and Discussions!

Load comments ↻





Copyright © 2024 www.includehelp.com. All rights reserved.