KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > util > explorer > context > lib > DecoderContext


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.context.lib;
27
28 import org.objectweb.util.explorer.api.Context;
29 import org.objectweb.util.explorer.api.Entry;
30 import org.objectweb.util.explorer.context.api.Decoder;
31 import org.objectweb.util.explorer.context.api.DecoderManager;
32 import org.objectweb.util.explorer.core.common.lib.DefaultContext;
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 DecoderContext
43   implements Context, DecoderManager
44 {
45
46     //==================================================================
47
//
48
// Internal States.
49
//
50
// ==================================================================
51

52     protected Context delegate_ = null;
53     
54     protected Decoder decoder_ = null;
55     
56     // ==================================================================
57
//
58
// Constructors.
59
//
60
// ==================================================================
61

62     /**
63      * Default Constructor
64      */

65     public DecoderContext(){
66         this(new DefaultContext());
67     }
68     
69     /**
70      * Constructor with specific delegate
71      */

72     public DecoderContext(Context delegate){
73         if(delegate!=null)
74             delegate_ = delegate;
75         else
76             delegate_ = new DefaultContext();
77     }
78
79     // ==================================================================
80
//
81
// Internal methods.
82
//
83
// ==================================================================
84

85     // ==================================================================
86
//
87
// Public methods for Context interface.
88
//
89
// ==================================================================
90

91     /* (non-Javadoc)
92      * @see org.objectweb.util.explorer.api.Context#getEntries(java.lang.Object)
93      */

94     public Entry[] getEntries(Object JavaDoc object) {
95         Entry[] entries = delegate_.getEntries(object);
96         if(entries!=null && decoder_!=null){
97             for (int i = 0; i < entries.length; i++) {
98                 Object JavaDoc obj = decoder_.decode(entries[i].getValue());
99                 entries[i].setValue(obj);
100             }
101         }
102         return entries;
103     }
104
105     // ==================================================================
106
//
107
// Public methods for DecoderManager interface.
108
//
109
// ==================================================================
110

111     /* (non-Javadoc)
112      * @see org.objectweb.util.explorer.context.api.DecoderManager#setDecoder(org.objectweb.util.explorer.context.api.Decoder)
113      */

114     public void setDecoder(Decoder decoder) {
115         decoder_ = decoder;
116     }
117     
118 }
119
Popular Tags