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)