|
||||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--java.lang.SecurityManager | +--org.argouml.application.security.ArgoSecurityManager
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
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.
Field Summary | |
---|---|
private boolean |
_allowExit
true if we are allowed to exit. |
protected static Logger |
cat
Deprecated. by Linus Tolke as of 0.15.4. Use your own logger in your class. This will be removed. |
private static Logger |
LOG
|
private static ArgoSecurityManager |
SINGLETON
The only allowed instance. |
Fields inherited from class java.lang.SecurityManager |
---|
inCheck |
Constructor Summary | |
---|---|
private |
ArgoSecurityManager()
Don't allow it to be instantiated from the outside. |
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 |
protected static Logger cat
private static final Logger LOG
private boolean _allowExit
This is set to false from main() just before we start the ball rolling for the GUI.
This means that all applications that doesn't start from main i.e. when running JUnit test cases and batch commands, are allowed to exit immediatly.
private static final ArgoSecurityManager SINGLETON
Constructor Detail |
private ArgoSecurityManager()
Method Detail |
public static final ArgoSecurityManager getInstance()
public void checkPermission(java.security.Permission perm)
checkPermission
in class java.lang.SecurityManager
public boolean getAllowExit()
public void setAllowExit(boolean allowExit)
|
||||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
ArgoUML © 1996-2004 (20040306) | ArgoUML Homepage | ArgoUML Developers' page | ArgoUML Cookbook |