| /* Copyright (C) 1998, 1999 Free Software Foundation |
| |
| This file is part of libgcj. |
| |
| This software is copyrighted work licensed under the terms of the |
| Libgcj License. Please consult the file "LIBGCJ_LICENSE" for |
| details. */ |
| |
| // SecurityManager |
| |
| package java.lang; |
| |
| /** |
| * @author Anthony Green <green@cygnus.com> |
| * @date October 5, 1998. |
| */ |
| |
| /* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3 |
| */ |
| |
| import java.io.*; |
| import java.net.*; |
| |
| public abstract class SecurityManager |
| { |
| protected boolean inCheck = false; |
| |
| public void checkAccept (String host, int port) |
| { |
| throw new SecurityException(); |
| } |
| |
| public void checkAccess (Thread thrd) |
| { |
| throw new SecurityException(); |
| } |
| |
| public void checkAccess (ThreadGroup thrdGroup) |
| { |
| throw new SecurityException(); |
| } |
| |
| public void checkAwtEventQueueAccess () |
| { |
| throw new SecurityException(); |
| } |
| |
| public void checkConnect (String host, int prt) |
| { |
| throw new SecurityException(); |
| } |
| |
| public void checkConnect (String host, int prt, Object ctx) |
| { |
| throw new SecurityException(); |
| } |
| |
| public void checkCreateClassLoader () |
| { |
| throw new SecurityException(); |
| } |
| |
| public void checkDelete (String fileName) |
| { |
| throw new SecurityException(); |
| } |
| |
| public void checkExec (String prog) |
| { |
| throw new SecurityException(); |
| } |
| |
| public void checkExit (int stat) |
| { |
| throw new SecurityException(); |
| } |
| |
| public void checkLink (String lib) |
| { |
| throw new SecurityException(); |
| } |
| |
| public void checkListen (int lport) |
| { |
| throw new SecurityException(); |
| } |
| |
| public void checkMemberAccess (Class cl, int mtype) |
| { |
| throw new SecurityException(); |
| } |
| |
| public void checkMulticast (InetAddress maddr) |
| { |
| throw new SecurityException(); |
| } |
| |
| public void checkMulticast (InetAddress maddr, byte ttl) |
| { |
| throw new SecurityException(); |
| } |
| |
| public void checkPackageAccess (String pkg) |
| { |
| throw new SecurityException(); |
| } |
| |
| public void checkPackageDefinition (String pkg) |
| { |
| throw new SecurityException(); |
| } |
| |
| public void checkPermission (java.security.Permission perm) |
| { |
| throw new SecurityException(); |
| } |
| |
| public void checkPrintJobAccess () |
| { |
| throw new SecurityException(); |
| } |
| |
| public void checkPropertiesAccess () |
| { |
| throw new SecurityException(); |
| } |
| |
| public void checkPropertyAccess (String prop) |
| { |
| throw new SecurityException(); |
| } |
| |
| public void checkPropertyAccess (String prop, String defval) |
| { |
| throw new SecurityException(); |
| } |
| |
| public void checkRead (FileDescriptor fd) |
| { |
| throw new SecurityException(); |
| } |
| |
| public void checkRead (String fileName) |
| { |
| throw new SecurityException(); |
| } |
| |
| public void checkRead (String fileName, Object ctx) |
| { |
| throw new SecurityException(); |
| } |
| |
| public void checkSecurityAccess (String action) |
| { |
| throw new SecurityException(); |
| } |
| |
| public void checkSetFactory () |
| { |
| throw new SecurityException(); |
| } |
| |
| public void checkSystemClipboardAccess () |
| { |
| throw new SecurityException(); |
| } |
| |
| public boolean checkTopLevelWindow (Object window) |
| { |
| throw new SecurityException(); |
| } |
| |
| public void checkWrite (FileDescriptor fd) |
| { |
| throw new SecurityException(); |
| } |
| |
| public void checkWrite (String fileName) |
| { |
| throw new SecurityException(); |
| } |
| |
| // Note: this method is deprecated in JDK 1.2 |
| protected /* native */ int classDepth (String className) |
| { |
| Class[] classStack = getClassContext (); |
| for (int i = 0; i < classStack.length; i++) |
| if (classStack[i].getName().compareTo(className) == 0) |
| return i; |
| |
| return -1; |
| } |
| |
| // Note: this method is deprecated in JDK 1.2 |
| protected /* native */ int classLoaderDepth () |
| { |
| Class[] classStack = getClassContext (); |
| for (int i = 0; i < classStack.length; i++) |
| if (classStack[i].getClassLoader() != null) |
| return i; |
| |
| return -1; |
| } |
| |
| protected /* native */ ClassLoader currentClassLoader () |
| { |
| Class[] classStack = getClassContext (); |
| for (int i = 0; i < classStack.length; i++) |
| { |
| ClassLoader loader = classStack[i].getClassLoader(); |
| if (loader != null) |
| return loader; |
| } |
| |
| return null; |
| } |
| |
| protected /* native */ Class currentLoadedClass () |
| { |
| Class[] classStack = getClassContext (); |
| for (int i = 0; i < classStack.length; i++) |
| { |
| ClassLoader loader = classStack[i].getClassLoader(); |
| if (loader != null) |
| return classStack[i]; |
| } |
| |
| return null; |
| } |
| |
| protected /* native */ Class[] getClassContext () |
| { |
| return new Class[0]; |
| } |
| |
| // Note: this method is deprecated in JDK 1.2 |
| public boolean getInCheck () |
| { |
| return inCheck; |
| } |
| |
| public Object getSecurityContext () |
| { |
| // FIXME: This has yet to be implemented. |
| return new String(""); |
| } |
| |
| public ThreadGroup getThreadGroup () |
| { |
| return Thread.currentThread().getThreadGroup(); |
| } |
| |
| protected boolean inClass (String className) |
| { |
| return (classDepth (className) != -1); |
| } |
| |
| protected boolean inClassLoader () |
| { |
| return (classLoaderDepth () != -1); |
| } |
| |
| protected SecurityManager () |
| { |
| if (System.getSecurityManager () != null) |
| throw new SecurityException (); |
| } |
| } |