KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > util > explorer > core > common > lib > DefaultKeyProvider


1 /*====================================================================
2
3 Objectweb Explorer Framework
4 Copyright (C) 2000-2005 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 $Id: DefaultKeyProvider.java,v 1.2 2005/07/06 15:36:00 moroy Exp $
27 ====================================================================*/

28
29 package org.objectweb.util.explorer.core.common.lib;
30
31 import org.objectweb.fractal.api.NoSuchInterfaceException;
32 import org.objectweb.util.explorer.core.common.api.BadParamException;
33 import org.objectweb.util.explorer.core.common.api.KeyProvider;
34 import org.objectweb.util.explorer.core.role.api.Role;
35 import org.objectweb.util.explorer.core.role.api.RoleProvider;
36
37 /**
38  * Basic implementation of the <code>KeyProvider</key> component.
39  *
40  * @author <a HREF="mailto:Jerome.Moroy@lifl.fr">Jérôme Moroy</a>,
41  * <a HREF="mailto:Philippe.Merle@lifl.fr">Philippe Merle</a>.
42  *
43  * @version 0.1
44  */

45 public class DefaultKeyProvider
46      extends BindingFeature
47   implements KeyProvider
48 {
49
50     //==================================================================
51
//
52
// Internal States.
53
//
54
// ==================================================================
55

56     // ==================================================================
57
//
58
// Constructors.
59
//
60
// ==================================================================
61

62     // ==================================================================
63
//
64
// Internal method.
65
//
66
// ==================================================================
67

68     protected DefaultKey getKey(String JavaDoc[] values){
69         Role role = null;
70         try {
71             role = ((RoleProvider)lookupFc(RoleProvider.ROLE_PROVIDER)).getRole(values[2]);
72         } catch (NoSuchInterfaceException e) {
73             e.printStackTrace();
74         }
75         return new DefaultKey(values[0],values[1],role);
76     }
77     
78     // ==================================================================
79
//
80
// Public methods for BindingFeature abstract class.
81
//
82
// ==================================================================
83

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

87     public String JavaDoc[] clientFc() {
88         return new String JavaDoc[]{RoleProvider.ROLE_PROVIDER};
89     }
90
91     // ==================================================================
92
//
93
// Public methods for KeyProvider interface.
94
//
95
// ==================================================================
96

97     /**
98      * @see org.objectweb.util.explorer.core.common.api.KeyProvider#computeKey(java.lang.Object)
99      */

100     public Object JavaDoc computeKey(Object JavaDoc key)
101       throws BadParamException {
102         try{
103             String JavaDoc[] value = (String JavaDoc[])key;
104             return getKey(value);
105         } catch (ClassCastException JavaDoc e){
106             throw new BadParamException("Array of String expected!");
107         }
108     }
109
110 }
111
Popular Tags