1 /* Copyright (C) 2003 Vladimir Roubtsov. All rights reserved. 2 * 3 * This program and the accompanying materials are made available under 4 * the terms of the Common Public License v1.0 which accompanies this distribution, 5 * and is available at http://www.eclipse.org/legal/cpl-v10.html 6 * 7 * $Id: ClassLoadContext.java,v 1.1.1.1 2004/05/09 16:57:52 vlad_r Exp $ 8 */ 9 package com.vladium.util; 10 11 // ---------------------------------------------------------------------------- 12 /** 13 * Information context for {@link IClassLoadStrategy#getClassLoader(ClassLoadContext)}. 14 * 15 * @author Vlad Roubtsov, (C) 2003 16 */ 17 public 18 class ClassLoadContext 19 { 20 // public: ................................................................ 21 22 23 /** 24 * Returns the class representing the caller of {@link ClassLoaderResolver} 25 * API. Can be used to retrieve the caller's classloader etc (which may be 26 * different from the ClassLoaderResolver's own classloader) ['null' if caller 27 * resolver could be instantiated due to security restrictions]. 28 */ getCallerClass()29 public final Class getCallerClass () 30 { 31 return m_caller; 32 } 33 34 // protected: ............................................................. 35 36 // package: ............................................................... 37 38 39 /** 40 * This constructor is package-private to restrict instantiation to 41 * {@link ClassLoaderResolver} only. 42 * 43 * @param caller [can be null] 44 */ ClassLoadContext(final Class caller)45 ClassLoadContext (final Class caller) 46 { 47 m_caller = caller; 48 } 49 50 // private: ............................................................... 51 52 53 private final Class m_caller; 54 55 } // end of class 56 // ----------------------------------------------------------------------------