01: // Copyright 2007 The Apache Software Foundation
02: //
03: // Licensed under the Apache License, Version 2.0 (the "License");
04: // you may not use this file except in compliance with the License.
05: // You may obtain a copy of the License at
06: //
07: // http://www.apache.org/licenses/LICENSE-2.0
08: //
09: // 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;
16:
17: import org.apache.tapestry.ioc.internal.util.Defense;
18:
19: /**
20: * A contribution to the configuration of the {@link ApplicationStateManager}, identifying the
21: * strategy and creator for a particular ASO (identified by the ASO's class).
22: */
23: public final class ApplicationStateContribution {
24: private final String _strategy;
25:
26: private final ApplicationStateCreator _creator;
27:
28: public ApplicationStateContribution(String strategy) {
29: this (strategy, null);
30: }
31:
32: public ApplicationStateContribution(String strategy,
33: ApplicationStateCreator creator) {
34: Defense.notBlank(strategy, "strategy");
35:
36: _strategy = strategy;
37: _creator = creator;
38: }
39:
40: /**
41: * The creator for the ASO. If null, the the ASO is created directly from the ASO class, via its
42: * public no-arguments constructor.
43: */
44: public ApplicationStateCreator getCreator() {
45: return _creator;
46: }
47:
48: /** The name of the strategy used to control where the ASO is stored. */
49: public String getStrategy() {
50: return _strategy;
51: }
52:
53: }
|