JNLPClassLoader.SecurityDelegate (IcedTea-Web: NetX )
Keywords: net.sourceforge.jnlp.runtime.JNLPClassLoader.SecurityDelegate interface
Date: 2021-05-10

net.sourceforge.jnlp.runtime

## Interface JNLPClassLoader.SecurityDelegate

- All Known Implementing Classes:
    JNLPClassLoader.SecurityDelegateImpl
  Enclosing class:
    JNLPClassLoader

      public static interface JNLPClassLoader.SecurityDelegate

  SecurityDelegate, in real usage, relies on having a "parent" JNLPClassLoader instance. However, JNLPClassLoaders are very large, heavyweight, difficult-to-mock objects, which means that unit testing on anything that uses a SecurityDelegate can become very difficult. For example, JarCertVerifier is designed separated from the ClassLoader so it can be tested in isolation. However, JCV needs some sort of access back to JNLPClassLoader instances to be able to invoke setRunInSandbox(). The SecurityDelegate handles this, allowing JCV to be tested without instantiating JNLPClassLoaders, by creating a fake SecurityDelegate that does not require one.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addPermission(java.security.Permission perm)`
    `void` | `addPermissions(java.util.Collection<java.security.Permission> perms)`
    `void` | `addPermissions(java.security.PermissionCollection perms)`
    `SecurityDesc` | `getClassLoaderSecurity(java.net.URL codebaseHost)`
    `SecurityDesc` | `getCodebaseSecurityDesc(JARDesc jarDesc, java.net.URL codebaseHost)`
    `SecurityDesc` | `getJarPermissions(java.net.URL codebaseHost)`
    `boolean` | `getRunInSandbox()`
    `boolean` | `isPluginApplet()`
    `void` | `promptUserOnPartialSigning()`
    `void` | `setRunInSandbox()`
    `boolean` | `userPromptedForPartialSigning()`
    `boolean` | `userPromptedForSandbox()`

- - ### Method Detail

    - #### isPluginApplet

          boolean isPluginApplet()

    - #### userPromptedForPartialSigning

          boolean userPromptedForPartialSigning()

    - #### userPromptedForSandbox

          boolean userPromptedForSandbox()

    - #### getCodebaseSecurityDesc

          SecurityDesc getCodebaseSecurityDesc(JARDesc jarDesc,
                                               java.net.URL codebaseHost)

    - #### getClassLoaderSecurity

          SecurityDesc getClassLoaderSecurity(java.net.URL codebaseHost)
                                       throws LaunchException

      Throws:
        `LaunchException`

    - #### getJarPermissions

          SecurityDesc getJarPermissions(java.net.URL codebaseHost)

    - #### promptUserOnPartialSigning

          void promptUserOnPartialSigning()
                                   throws LaunchException

      Throws:
        `LaunchException`

    - #### setRunInSandbox

          void setRunInSandbox()
                        throws LaunchException

      Throws:
        `LaunchException`

    - #### getRunInSandbox

          boolean getRunInSandbox()

    - #### addPermission

          void addPermission(java.security.Permission perm)

    - #### addPermissions

          void addPermissions(java.security.PermissionCollection perms)

    - #### addPermissions

          void addPermissions(java.util.Collection<java.security.Permission> perms)

Submit a bug or feature