Package org.apache.tools.ant.util.optional

# Class NoExitSecurityManager

java.lang.Object
java.lang.SecurityManager
org.apache.tools.ant.util.optional.NoExitSecurityManager

    public class NoExitSecurityManager
    extends java.lang.SecurityManager

This is intended as a replacement for the default system manager. The goal is to intercept System.exit calls and make it throw an exception instead so that a System.exit in a task does not fully terminate Ant.

See Also:
  `ExitException`

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `NoExitSecurityManager()` |

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `void` | `checkExit​(int status)` | Override SecurityManager#checkExit.
  `void` | `checkPermission​(java.security.Permission perm)` | Override SecurityManager#checkPermission.

  ### Methods inherited from class java.lang.SecurityManager

  `checkAccept, checkAccess, checkAccess, checkConnect, checkConnect, checkCreateClassLoader, checkDelete, checkExec, checkLink, checkListen, checkMulticast, checkMulticast, checkPackageAccess, checkPackageDefinition, checkPermission, checkPrintJobAccess, checkPropertiesAccess, checkPropertyAccess, checkRead, checkRead, checkRead, checkSecurityAccess, checkSetFactory, checkWrite, checkWrite, getClassContext, getSecurityContext, getThreadGroup`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### NoExitSecurityManager

    public NoExitSecurityManager()

- ## Method Details

  - ### checkExit

    public void checkExit​(int status)
    Override SecurityManager#checkExit. This throws an ExitException(status) exception.
    Overrides:
      `checkExit` in class `java.lang.SecurityManager`
    Parameters:
      `status` - the exit status

  - ### checkPermission

    public void checkPermission​(java.security.Permission perm)
    Override SecurityManager#checkPermission. This does nothing.
    Overrides:
      `checkPermission` in class `java.lang.SecurityManager`
    Parameters:
      `perm` - the requested permission.