org.argouml.application.security
Class ArgoSecurityManager

java.lang.Object
  |
  +--java.lang.SecurityManager
        |
        +--org.argouml.application.security.ArgoSecurityManager

public final class ArgoSecurityManager
extends java.lang.SecurityManager

The Argo custom security manager. Since Argo is an open-source product, the concept of a security manager may seem odd. This class is not intended to provide security in the standard way that Java programmers think of, in the context of Applets, for example. Rather, it is intended to protect Argo from accidental modifications to its own environment by external modules. One of the areas this is necessary is to protect from the System.exit(int) or {@java.lang.Runtime#exit(int)} calls. Another is to prevent modules from replacing the awt exception trapping hook so that we are able to properly catch any ArgoSecurityExceptions and prevent the stack trace when we desire.

Since:
0.9.4

Field Summary
protected static org.apache.log4j.Category cat
           
 
Fields inherited from class java.lang.SecurityManager
inCheck
 
Method Summary
 void checkPermission(java.security.Permission perm)
           
 boolean getAllowExit()
           
static ArgoSecurityManager getInstance()
          Accessor for the instance.
 void setAllowExit(boolean allowExit)
           
 
Methods inherited from class java.lang.SecurityManager
checkAccept, checkAccess, checkAccess, checkAwtEventQueueAccess, checkConnect, checkConnect, checkCreateClassLoader, checkDelete, checkExec, checkExit, 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
 

Field Detail

cat

protected static org.apache.log4j.Category cat
Method Detail

getInstance

public static final ArgoSecurityManager getInstance()
Accessor for the instance.

checkPermission

public void checkPermission(java.security.Permission perm)
Overrides:
checkPermission in class java.lang.SecurityManager

getAllowExit

public boolean getAllowExit()

setAllowExit

public void setAllowExit(boolean allowExit)


ArgoUML (c) 1996-2002
ArgoUML Project Home
ArgoUML Cookbook