KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > avalon > fortress > MetaInfoManager


1 /*
2  * Copyright 2003-2004 The Apache Software Foundation
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
12  * implied.
13  *
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */

17
18 package org.apache.avalon.fortress;
19
20 /**
21  * MetaInfoManager Interface, use this to specify the Components and how they
22  * correspond to easy shorthand names. The MetaInfoManager assumes a one to one
23  * relationship of shorthand names to classes. A component can have any number
24  * of roles associated with it, so it is more flexible and robust than the
25  * {@link RoleManager) alternative.
26  *
27  * @author <a HREF="mailto:dev@avalon.apache.org">Avalon Development Team</a>
28  * @version CVS $Revision: 1.3 $ $Date: 2004/02/28 15:16:24 $
29  */

30 public interface MetaInfoManager
31 {
32     /**
33      * Convenience constant to make lookup of the MetaInfoManager easer.
34      */

35     String JavaDoc ROLE = MetaInfoManager.class.getName();
36
37     /**
38      * Get a <code>MetaInfoEntry</code> for a short name. The short name is an
39      * alias for a component type.
40      *
41      * @param shortname The shorthand name for the component type.
42      *
43      * @return the proper {@link MetaInfoEntry}
44      */

45     MetaInfoEntry getMetaInfoForShortName( String JavaDoc shortname );
46
47     /**
48      * Get a <code>MetaInfoEntry</code> for a component type. This facilitates
49      * self-healing configuration files where the impl reads the
50      * configuration and translates all <code>&lt;component/&gt;</code>
51      * entries to use the short hand name for readability.
52      *
53      * @param classname The component type name
54      *
55      * @return the proper {@link MetaInfoEntry}
56      */

57     MetaInfoEntry getMetaInfoForClassname( String JavaDoc classname );
58 }
59
Popular Tags