Home »
Java programming language
Java SecurityManager checkLink() method with example
SecurityManager Class checkLink() method: Here, we are going to learn about the checkLink() method of SecurityManager Class with its syntax and example.
Submitted by Preeti Jain, on December 16, 2019
SecurityManager Class checkLink() method
- checkLink() method is available in java.lang package.
- checkLink() method calls checkPermission with RuntimePermission("loadLibrary"+libr) to link the library.
- checkLink() 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.
-
checkLink() method may throw an exception at the time of linking the library.
- SecurityException – This exception may throw when the calling thread is not allowed to link the library at runtime and it is called for the current security manager by using load() and loadLibrary() method of Runtime.
- NullPointerException – This exception may throw when the given parameter is null.
Syntax:
public void checkLink(String libr);
Parameter(s):
- String libr – represents the name of library or complete file name.
Return value:
The return type of this method is void, it returns nothing.
Example:
// Java program to demonstrate the example
// of void checkLink(String libr)
// method of SecurityManager
public class CheckLink {
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 SecurityManager object
SecurityManager smgr = new SecurityManager();
// By using setSecurityManager() method is to set the
// security manager
System.setSecurityManager(smgr);
// By using checkLink(String lib) method is to check
// the linking of library
smgr.checkLink("Native-API");
// Display the message
System.out.println("Not Restricted..");
}
}
Output
Exception in thread "main" java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "loadLibrary.Native-API")
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.checkLink(SecurityManager.java:608)
at CheckLink.main(CheckLink.java:20)