KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > codehaus > loom > classman > metadata > ClassLoaderSetMetaData


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.loom.classman.metadata;
9
10 /**
11  * This class defines a set of ClassLoaders and the default ClassLoader to use.
12  *
13  * @author Peter Donald
14  * @version $Revision: 1.1 $ $Date: 2004/04/19 22:19:25 $
15  */

16 public class ClassLoaderSetMetaData
17 {
18     /**
19      * The name of the current classloader. This may be used by other
20      * ClassLoader definitions to refer to this ClassLoader.
21      */

22     private final String JavaDoc m_default;
23
24     /** The set of ClassLoaders predefined by the application. */
25     private final String JavaDoc[] m_predefined;
26
27     /** The classloaders defined in set. */
28     private final ClassLoaderMetaData[] m_classLoaders;
29
30     /** The joining classloaders defined in set. */
31     private final JoinMetaData[] m_joins;
32
33     /**
34      * Construct set with specified set and ClassLoaders.
35      *
36      * @param aDefault the name of default ClassLoader
37      * @param classLoaders the ClassLoaders in set
38      */

39     public ClassLoaderSetMetaData( final String JavaDoc aDefault,
40                                    final String JavaDoc[] predefined,
41                                    final ClassLoaderMetaData[] classLoaders,
42                                    final JoinMetaData[] joins )
43     {
44         if( null == aDefault )
45         {
46             throw new NullPointerException JavaDoc( "aDefault" );
47         }
48         if( null == classLoaders )
49         {
50             throw new NullPointerException JavaDoc( "classLoaders" );
51         }
52         if( null == joins )
53         {
54             throw new NullPointerException JavaDoc( "joins" );
55         }
56         if( null == predefined )
57         {
58             throw new NullPointerException JavaDoc( "predefined" );
59         }
60
61         m_default = aDefault;
62         m_predefined = predefined;
63         m_classLoaders = classLoaders;
64         m_joins = joins;
65     }
66
67     /**
68      * Return the default ClassLoader name.
69      *
70      * @return the default ClassLoader name.
71      */

72     public String JavaDoc getDefault()
73     {
74         return m_default;
75     }
76
77     /**
78      * Return the set of predefined ClassLoaders.
79      *
80      * @return the set of predefined ClassLoaders.
81      */

82     public String JavaDoc[] getPredefined()
83     {
84         return m_predefined;
85     }
86
87     /**
88      * Return the classloaders in set.
89      *
90      * @return the classloaders in set.
91      */

92     public ClassLoaderMetaData[] getClassLoaders()
93     {
94         return m_classLoaders;
95     }
96
97     /**
98      * Return the "join" classloaders in set.
99      *
100      * @return the "join" classloaders in set.
101      */

102     public JoinMetaData[] getJoins()
103     {
104         return m_joins;
105     }
106
107     /**
108      * Return true if specified name, designates a predefined ClassLoader.
109      *
110      * @return true if specified name, designates a predefined ClassLoader.
111      */

112     public boolean isPredefined( final String JavaDoc name )
113     {
114         for( int i = 0; i < m_predefined.length; i++ )
115         {
116             if( m_predefined[ i ].equals( name ) )
117             {
118                 return true;
119             }
120         }
121         return false;
122     }
123
124     /**
125      * Return the classloader with specified name.
126      *
127      * @return the classloader with specified name
128      */

129     public ClassLoaderMetaData getClassLoader( final String JavaDoc name )
130     {
131         for( int i = 0; i < m_classLoaders.length; i++ )
132         {
133             final ClassLoaderMetaData classLoader = m_classLoaders[ i ];
134             if( classLoader.getName().equals( name ) )
135             {
136                 return classLoader;
137             }
138         }
139         return null;
140     }
141
142     /**
143      * Return the "join" classloader with specified name.
144      *
145      * @return the "join" classloader with specified name
146      */

147     public JoinMetaData getJoin( final String JavaDoc name )
148     {
149         for( int i = 0; i < m_joins.length; i++ )
150         {
151             final JoinMetaData join = m_joins[ i ];
152             if( join.getName().equals( name ) )
153             {
154                 return join;
155             }
156         }
157         return null;
158     }
159 }
160
Popular Tags