cvs commit: spice/sandbox/metaclass/src/java/org/realityforge/metaclass/introspector CachingMetaClassAccessor.java MetaClassIntrospector.java
Peter Donald <[email protected]>
| Newsgroups | gmane.comp.java.spice.cvs |
|---|---|
| Message-ID | <[email protected]> |
donaldp 03/10/28 00:07:34
Modified: sandbox/metaclass/src/java/org/realityforge/metaclass/introspector
CachingMetaClassAccessor.java
MetaClassIntrospector.java
Log:
Rework so that the top level accessor is the one that passes down the accessor through chain
Revision Changes Path
1.3 +2 -10 spice/sandbox/metaclass/src/java/org/realityforge/metaclass/introspector/CachingMetaClassAccessor.java
Index: CachingMetaClassAccessor.java
===================================================================
RCS file: /cvsroot/spice/spice/sandbox/metaclass/src/java/org/realityforge/metaclass/introspector/CachingMetaClassAccessor.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- CachingMetaClassAccessor.java 28 Oct 2003 07:01:01 -0000 1.2
+++ CachingMetaClassAccessor.java 28 Oct 2003 08:07:32 -0000 1.3
@@ -16,7 +16,7 @@
* Caching MetaClassAccessor implementation.
*
* @author <a href="mailto:peter at realityforge.org">Peter Donald</a>
- * @version $Revision: 1.2 $ $Date: 2003/10/28 07:01:01 $
+ * @version $Revision: 1.3 $ $Date: 2003/10/28 08:07:32 $
*/
public class CachingMetaClassAccessor
implements MetaClassAccessor
@@ -27,14 +27,6 @@
private MetaClassAccessor m_accessor = new DefaultMetaClassAccessor();
/**
- * Wrapper Accessor that is passed to the above accessor
- * to retrieve ClassDescriptors. Ensures that no Accessor
- * can get a direct reference to the CachingMetaClassAccessor
- * and thus subvert descriptor loading process.
- */
- private final WrapperMetaClassAccessor m_wrapperAccessor = new WrapperMetaClassAccessor( this );
-
- /**
* The cache in which info objects are stored.
* This cache stores maps for ClassLoaders which in
* turn stores info for particular classes in
@@ -92,7 +84,7 @@
descriptor =
m_accessor.getClassDescriptor( classname,
classLoader,
- m_wrapperAccessor );
+ accessor );
cache.put( classname, descriptor );
return descriptor;
}
1.5 +10 -2 spice/sandbox/metaclass/src/java/org/realityforge/metaclass/introspector/MetaClassIntrospector.java
Index: MetaClassIntrospector.java
===================================================================
RCS file: /cvsroot/spice/spice/sandbox/metaclass/src/java/org/realityforge/metaclass/introspector/MetaClassIntrospector.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- MetaClassIntrospector.java 28 Oct 2003 07:01:01 -0000 1.4
+++ MetaClassIntrospector.java 28 Oct 2003 08:07:33 -0000 1.5
@@ -15,7 +15,7 @@
* {@link java.beans.Introspector} class does for Java Beans.
*
* @author <a href="mailto:peter at realityforge.org">Peter Donald</a>
- * @version $Revision: 1.4 $ $Date: 2003/10/28 07:01:01 $
+ * @version $Revision: 1.5 $ $Date: 2003/10/28 08:07:33 $
*/
public final class MetaClassIntrospector
{
@@ -39,6 +39,14 @@
*/
private static final CachingMetaClassAccessor c_cachingAccessor = new CachingMetaClassAccessor();
+ /**
+ * Wrapper Accessor that is passed to the above accessor
+ * to retrieve ClassDescriptors. Ensures that no Accessor
+ * can get a direct reference to the CachingMetaClassAccessor
+ * and thus subvert descriptor loading process.
+ */
+ private static final WrapperMetaClassAccessor c_wrapperAccessor = new WrapperMetaClassAccessor( c_cachingAccessor );
+
/**
* Flush all of the Introspector's internal caches. This method is
* not normally required. It is normally only needed by advanced
@@ -100,6 +108,6 @@
final ClassLoader classLoader )
throws MetaClassException
{
- return c_cachingAccessor.getClassDescriptor( classname, classLoader, null );
+ return c_cachingAccessor.getClassDescriptor( classname, classLoader, c_wrapperAccessor );
}
}
-------------------------------------------------------
This SF.net email is sponsored by: The SF.net Donation Program.
Do you like what SourceForge.net is doing for the Open
Source Community? Make a contribution, and help us add new
features and functionality. Click here: http://sourceforge.net/donate/