KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > tapestry > services > impl > InfrastructureContribution


1 // Copyright 2005 The Apache Software Foundation
2
//
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 implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14

15 package org.apache.tapestry.services.impl;
16
17 import org.apache.hivemind.impl.BaseLocatable;
18
19 /**
20  * A contribution to the {@link org.apache.tapestry.services.Infrastructure} service. Defines
21  * a property of Infrastructure and the value for that property. The infrastructure is setup in a
22  * <em>mode</em> (currently, either "servlet" or "portlet"). Contributions that define a non-null
23  * mode are ignored unless their mode matches the Infrastructure mode.
24  * <p>
25  * There are two configuration points that control Infrastructure:
26  * <code>tapestry.Infrastructure</code> and <code>tapestry.InfrastructureOverride</code>.
27  *
28  * @author Howard M. Lewis Ship
29  * @since 4.0
30  */

31 public class InfrastructureContribution extends BaseLocatable
32 {
33     private String JavaDoc _property;
34
35     private String JavaDoc _mode;
36
37     private DeferredObject _deferredObject;
38
39     public void setDeferredObject(DeferredObject deferredObject)
40     {
41         _deferredObject = deferredObject;
42     }
43
44     public void setValue(String JavaDoc value)
45     {
46         _deferredObject = new LiteralDeferredObject(value, getLocation());
47     }
48
49     /**
50      * The object which should be exposed as the given Infrastructure property.
51      */

52     public Object JavaDoc getObject()
53     {
54         return _deferredObject.getObject();
55     }
56
57     /**
58      * The mode for which this contribution applies, or null if the contribution applies to all
59      * modes.
60      */

61
62     public String JavaDoc getMode()
63     {
64         return _mode;
65     }
66
67     public void setMode(String JavaDoc mode)
68     {
69         _mode = mode;
70     }
71
72     /**
73      * The property of the {@link org.apache.tapestry.services.Infrastructure}for which a value is
74      * to be provided.
75      */

76
77     public String JavaDoc getProperty()
78     {
79         return _property;
80     }
81
82     public void setProperty(String JavaDoc property)
83     {
84         _property = property;
85     }
86
87     public boolean matchesMode(String JavaDoc mode)
88     {
89         // If our mode is null, then we only match null.
90

91         if (_mode == mode)
92             return true;
93
94         // Otherwise, match our non-null model against their possibly-null mode.
95

96         return _mode != null && _mode.equals(mode);
97     }
98 }
Popular Tags