1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19 package org.apache.myfaces.custom.redirectTracker;
20
21 import javax.faces.context.FacesContext;
22
23 /**
24 * Provides a context for the RedirectTrackerPolicy
25 */
26 public class RedirectTrackerContext
27 {
28 private final RedirectTrackerManager manager;
29 private final RedirectTrackerManager.Entry entry;
30 private final FacesContext context;
31
32 RedirectTrackerContext(RedirectTrackerManager manager, RedirectTrackerManager.Entry entry, FacesContext context)
33 {
34 this.entry = entry;
35 this.context = context;
36 this.manager = manager;
37 }
38
39 /**
40 * saves all request beans
41 */
42 public void saveBeans()
43 {
44 manager.saveBeans(entry);
45 }
46
47 /**
48 * saves the given object with the given name, after the redirect this value will be reinjected into the request.
49 */
50 public void saveBean(String name, Object value)
51 {
52 manager.saveBean(entry, name, value);
53 }
54
55 /**
56 * saves all messages
57 */
58 public void saveMessages()
59 {
60 manager.saveMessages(context, entry);
61 }
62
63 /**
64 * saves the locale information
65 */
66 public void saveLocale()
67 {
68 manager.saveLocale(context, entry);
69 }
70 }