xjava.lang
Class IJCE_ClassLoaderDepth

java.lang.Object
  |
  +--xjava.lang.IJCE_ClassLoaderDepth

public class IJCE_ClassLoaderDepth
extends java.lang.Object

This class is a gross hack. It allows IJCE to obtain the current class loader depth (the number of stack frames after the last method in this thread that was part of a class loaded by a ClassLoader).

Since ClassLoader.classLoaderDepth() is protected, and since the JDK does not allow creating a security manager after one has already been installed, this requires having code in the java.lang package.

Copyright © 1995-1997 Systemics Ltd on behalf of the Cryptix Development Team.
All rights reserved.

$Revision: 1.2 $

Since:
IJCE 1.0.1
Author:
David Hopwood

Method Summary
static int classLoaderDepth()
          Gets the current classLoaderDepth (assuming there is a security manager installed).
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

classLoaderDepth

public static int classLoaderDepth()
Gets the current classLoaderDepth (assuming there is a security manager installed). This will be 1 if this method was called directly by a class with a ClassLoader, 2 if there is one intervening stack frame, etc.

If there is no ClassLoader in the call stack of the current thread, -1 is returned. If there is no security manager installed, -2 is returned.

This should only be used to implement higher-level security primitives; never directly to make security decisions.