KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > util > explorer > resolver > lib > PropertyResolverDispatcher


1 /*====================================================================
2
3 Objectweb Explorer Framework
4 Copyright (C) 2000-2004 INRIA - USTL - LIFL - GOAL
5 Contact: openccm@objectweb.org
6
7 This library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Lesser General Public
9 License as published by the Free Software Foundation; either
10 version 2.1 of the License, or any later version.
11
12 This library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 Lesser General Public License for more details.
16
17 You should have received a copy of the GNU Lesser General Public
18 License along with this library; if not, write to the Free Software
19 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
20 USA
21
22 Initial developer(s): Jerome Moroy, Philippe Merle.
23 Contributor(s): ______________________________________.
24
25 ====================================================================*/

26 package org.objectweb.util.explorer.resolver.lib;
27
28 import org.objectweb.fractal.api.NoSuchInterfaceException;
29 import org.objectweb.util.explorer.api.Entry;
30 import org.objectweb.util.explorer.core.common.api.Description;
31 import org.objectweb.util.explorer.core.common.lib.BindingFeature;
32 import org.objectweb.util.explorer.resolver.api.PropertyResolver;
33
34 /**
35  *
36  *
37  * @author <a HREF="mailto:Jerome.Moroy@lifl.fr">Jérôme Moroy</a>,
38  * <a HREF="mailto:Philippe.Merle@lifl.fr">Philippe Merle</a>.
39  *
40  * @version 0.1
41  */

42 public class PropertyResolverDispatcher
43      extends BindingFeature
44   implements PropertyResolver
45 {
46
47     //==================================================================
48
//
49
// Internal States.
50
//
51
// ==================================================================
52

53     // ==================================================================
54
//
55
// Constructors.
56
//
57
// ==================================================================
58

59     // ==================================================================
60
//
61
// Internal method.
62
//
63
// ==================================================================
64

65     /**
66      * Provides the interface compliant with the given interface name suffixe.
67      * The name of the binding must be the following:<br>
68      * <code>&#160;&#160;PropertyResolver.PROPERTY_RESOLVER + "-collection-" + itfSuffixe</code>
69      * @return The associated PropertyResolver
70      */

71     protected PropertyResolver getPropertyResolver(String JavaDoc itfSuffixe){
72         try {
73             return (PropertyResolver)lookupFc(PropertyResolver.PROPERTY_RESOLVER + "-collection-" + itfSuffixe);
74         } catch (NoSuchInterfaceException e) {
75             getTrace().info(PropertyResolver.PROPERTY_RESOLVER + "-collection-" + itfSuffixe + ": interface not found!");
76             return null;
77         }
78     }
79     
80     // ==================================================================
81
//
82
// Public methods for BindingFeature abstract class.
83
//
84
// ==================================================================
85

86     /* (non-Javadoc)
87      * @see org.objectweb.util.explorer.core.common.lib.BindingFeature#clientFc()
88      */

89     public String JavaDoc[] clientFc() {
90         return new String JavaDoc[]{PropertyResolver.PROPERTY_RESOLVER + "-collection"};
91     }
92
93     // ==================================================================
94
//
95
// Public methods for PropertyProvider interface.
96
//
97
// ==================================================================
98

99     /* (non-Javadoc)
100      * @see org.objectweb.util.explorer.resolver.api.PropertyResolver#resolve(java.lang.String, org.objectweb.util.explorer.api.Entry, org.objectweb.util.explorer.api.Entry)
101      */

102     public Description resolve(String JavaDoc propertyType, Entry currentEntry, Entry parentEntry) {
103         PropertyResolver propertyResolver = getPropertyResolver(propertyType);
104         if (propertyResolver!=null){
105             return propertyResolver.resolve(propertyType,currentEntry,parentEntry);
106         }
107         return null;
108     }
109     
110     /* (non-Javadoc)
111      * @see org.objectweb.util.explorer.resolver.api.PropertyResolver#resolve(java.lang.String, org.objectweb.util.explorer.api.Entry)
112      */

113     public Description resolve(String JavaDoc propertyType, Entry currentEntry) {
114         return resolve(propertyType, currentEntry, null);
115     }
116     
117 }
118
119
120
Popular Tags