01: /*
02: * Copyright (c) 1998 - 2005 Versant Corporation
03: * All rights reserved. This program and the accompanying materials
04: * are made available under the terms of the Eclipse Public License v1.0
05: * which accompanies this distribution, and is available at
06: * http://www.eclipse.org/legal/epl-v10.html
07: *
08: * Contributors:
09: * Versant Corporation - initial API and implementation
10: */
11: package com.versant.core.util.classhelper;
12:
13: public abstract class ClassHelper {
14:
15: private static ClassHelper impl =
16:
17: new com.versant.core.util.classhelper.jdk12.ClassHelperImpl();
18:
19: public static ClassHelper get() {
20: return impl;
21: }
22:
23: public abstract Class classForName(String clazz, boolean validate,
24: ClassLoader loader) throws ClassNotFoundException;
25:
26: public abstract ClassLoader getContextClassLoader(Thread thread);
27:
28: public abstract ClassLoader getSystemClassLoader();
29:
30: public abstract void setAccessible(java.lang.reflect.Field field,
31: boolean value);
32:
33: public abstract void setAccessible(
34: java.lang.reflect.Constructor ctor, boolean value);
35:
36: public abstract Object getFieldValue(java.lang.reflect.Field field,
37: Object obj) throws IllegalAccessException;
38: }
|