org.apache.tools.ant.util.optional
Class NoExitSecurityManager

java.lang.Object
  extended by java.lang.SecurityManager
      extended by 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

Field Summary
 
Fields inherited from class java.lang.SecurityManager
inCheck
 
Constructor Summary
NoExitSecurityManager()
           
 
Method Summary
 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, checkAwtEventQueueAccess, checkConnect, checkConnect, checkCreateClassLoader, checkDelete, checkExec, checkLink, checkListen, checkMemberAccess, checkMulticast, checkMulticast, checkPackageAccess, checkPackageDefinition, checkPermission, checkPrintJobAccess, checkPropertiesAccess, checkPropertyAccess, checkRead, checkRead, checkRead, checkSecurityAccess, checkSetFactory, checkSystemClipboardAccess, checkTopLevelWindow, checkWrite, checkWrite, classDepth, classLoaderDepth, currentClassLoader, currentLoadedClass, getClassContext, getInCheck, getSecurityContext, getThreadGroup, inClass, inClassLoader
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NoExitSecurityManager

public NoExitSecurityManager()
Method Detail

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.