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)


Comments and Discussions!

Load comments ↻





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