KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > icesoft > faces > component > panelpositioned > PanelPositionedModel


1 /*
2  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
3  *
4  * "The contents of this file are subject to the Mozilla Public License
5  * Version 1.1 (the "License"); you may not use this file except in
6  * compliance with the License. You may obtain a copy of the License at
7  * http://www.mozilla.org/MPL/
8  *
9  * Software distributed under the License is distributed on an "AS IS"
10  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
11  * License for the specific language governing rights and limitations under
12  * the License.
13  *
14  * The Original Code is ICEfaces 1.5 open source software code, released
15  * November 5, 2006. The Initial Developer of the Original Code is ICEsoft
16  * Technologies Canada, Corp. Portions created by ICEsoft are Copyright (C)
17  * 2004-2006 ICEsoft Technologies Canada, Corp. All Rights Reserved.
18  *
19  * Contributor(s): _____________________.
20  *
21  * Alternatively, the contents of this file may be used under the terms of
22  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"
23  * License), in which case the provisions of the LGPL License are
24  * applicable instead of those above. If you wish to allow use of your
25  * version of this file only under the terms of the LGPL License and not to
26  * allow others to use your version of this file under the MPL, indicate
27  * your decision by deleting the provisions above and replace them with
28  * the notice and other provisions required by the LGPL License. If you do
29  * not delete the provisions above, a recipient may use your version of
30  * this file under either the MPL or the LGPL License."
31  *
32  */

33
34 package com.icesoft.faces.component.panelpositioned;
35
36 import javax.faces.component.UIComponent;
37 import javax.faces.context.FacesContext;
38 import java.io.Serializable JavaDoc;
39 import java.util.ArrayList JavaDoc;
40 import java.util.HashMap JavaDoc;
41 import java.util.List JavaDoc;
42 import java.util.Map JavaDoc;
43
44 /**
45  * Used to track changes to positioned panel instances
46  */

47 public class PanelPositionedModel implements Serializable JavaDoc {
48
49     private List JavaDoc column;
50     private Map JavaDoc idIndex = new HashMap JavaDoc();
51     private int max = 0;
52
53     public static PanelPositionedModel build() {
54
55         PanelPositionedModel result = new PanelPositionedModel();
56
57         return result;
58     }
59
60
61     public static PanelPositionedModel resetInstance(FacesContext context,
62                                                      UIComponent component) {
63         Map JavaDoc sessionMap = context.getExternalContext().getSessionMap();
64
65         PanelPositionedModel result = build();
66         sessionMap.put(getName(context, component), result);
67
68         return result;
69     }
70
71     private static String JavaDoc getName(FacesContext context, UIComponent component) {
72         return PanelPositionedModel.class.getName() + ":" +
73                 component.getClientId(context);
74     }
75
76     public static PanelPositionedModel getInstance(FacesContext context,
77                                                    UIComponent component) {
78         Map JavaDoc sessionMap = context.getExternalContext().getSessionMap();
79         PanelPositionedModel result = (PanelPositionedModel) sessionMap
80                 .get(getName(context, component));
81         return result;
82     }
83
84
85     private PanelPositionedModel() {
86         this.column = new ArrayList JavaDoc();
87     }
88
89     public void setIndex(String JavaDoc id, int index) {
90         idIndex.put(id, new Integer JavaDoc(index));
91     }
92
93     public int getIndex(String JavaDoc id) {
94         Integer JavaDoc I = (Integer JavaDoc) idIndex.get(id);
95         if (I != null) {
96             return I.intValue();
97         }
98         return -1;
99
100     }
101
102     public int size() {
103         return this.column.size();
104     }
105
106 }
107
Popular Tags