1   /*
2    * Copyright (C) The MetaClass 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.metaclass;
9   
10  import org.codehaus.metaclass.introspector.MetaClassAccessor;
11  import org.codehaus.metaclass.introspector.MetaClassException;
12  import org.codehaus.metaclass.model.ClassDescriptor;
13  
14  /***
15   * @author Peter Donald
16   * @version $Revision: 1.5 $ $Date: 2003/11/28 11:14:54 $
17   */
18  public class MockAccessor
19      implements MetaClassAccessor
20  {
21      private final ClassDescriptor m_classDescriptor;
22      private int m_accessCount;
23  
24      public MockAccessor( final ClassDescriptor classDescriptor )
25      {
26          m_classDescriptor = classDescriptor;
27      }
28  
29      public ClassDescriptor getClassDescriptor( String classname,
30                                                 ClassLoader classLoader,
31                                                 MetaClassAccessor accessor )
32          throws MetaClassException
33      {
34          m_accessCount++;
35          if( null != m_classDescriptor &&
36              classname.equals( m_classDescriptor.getName() ) )
37          {
38              return m_classDescriptor;
39          }
40          else
41          {
42              throw new MetaClassException( "Missing " + classname );
43          }
44      }
45  
46      public int getAccessCount()
47      {
48          return m_accessCount;
49      }
50  }