KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > codehaus > dna > tools > verifier > RegistrationMetaClassAccessor


1 /*
2  * Copyright (C) The Spice Group. All rights reserved.
3  *
4  * This software is published under the terms of the Spice
5  * Software License version 1.1, a copy of which has been included
6  * with this distribution in the LICENSE.txt file.
7  */

8 package org.codehaus.dna.tools.verifier;
9
10 import org.codehaus.metaclass.introspector.MetaClassAccessor;
11 import org.codehaus.metaclass.introspector.MetaClassException;
12 import org.codehaus.metaclass.model.ClassDescriptor;
13 import java.util.Map JavaDoc;
14 import java.util.HashMap JavaDoc;
15
16 /**
17  *
18  * @author Peter Donald
19  * @version $Revision: 1.1 $ $Date: 2004/04/18 20:13:44 $
20  */

21 public class RegistrationMetaClassAccessor
22     implements MetaClassAccessor
23 {
24     private final Map JavaDoc m_descriptors = new HashMap JavaDoc();
25
26     public ClassDescriptor getClassDescriptor( final String JavaDoc classname,
27                                                final ClassLoader JavaDoc classLoader,
28                                                final MetaClassAccessor accessor )
29         throws MetaClassException
30     {
31         final ClassDescriptor descriptor = (ClassDescriptor)m_descriptors.get( classname );
32         if( null == descriptor )
33         {
34             final String JavaDoc message = "Missing descriptor for " + classname;
35             throw new MetaClassException( message );
36         }
37         return descriptor;
38     }
39
40     public void registerDescriptor( final ClassDescriptor descriptor )
41     {
42         if( null == descriptor )
43         {
44             throw new NullPointerException JavaDoc( "descriptor" );
45         }
46         m_descriptors.put( descriptor.getName(), descriptor );
47     }
48 }
49
Popular Tags