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.