001    package org.hackystat.projectbrowser.page.projects;
002    
003    import java.io.Serializable;
004    import org.apache.wicket.Page;
005    import org.apache.wicket.markup.html.basic.Label;
006    import org.apache.wicket.markup.html.panel.Panel;
007    
008    /**
009     * Session instance for the projects data page to hold its state.
010     * 
011     * @author Philip Johnson
012     * @author Shaoxuan Zhang
013     * @author Randy Cox
014     */
015    public class ProjectsSession implements Serializable {
016    
017      /** Support serialization. */
018      private static final long serialVersionUID = 1L;
019    
020      /** Holds the Project View model associated with this session. */
021      private ProjectsModel projectsModel = new ProjectsModel();
022    
023      /** Main projects page. */
024      private Page projPage;
025    
026      /** Holds list panel. */
027      private Panel projListPanel;
028    
029      /** Holds edit panel. */
030      private Panel projEditPanel;
031    
032      /** Holds rename panel. */
033      private Panel projRenamePanel;
034    
035      /** Holds rename delete. */
036      private Panel projDeletePanel;
037    
038      /** Holds leave panel. */
039      private Panel projLeavePanel;
040    
041      /** Holds reply panel. */
042      private Panel projReplyPanel;
043    
044      /** Holds clear cache panel. */
045      private Panel projClearCachePanel;
046    
047      /** The feedback string. */
048      private Label feedbackLabel;
049    
050      /** If project is new. */
051      private Boolean newProject;
052    
053      /**
054       * Check if current project is newly create or edited.
055       * 
056       * @return the newProject
057       */
058      public Boolean isNewProject() {
059        return newProject;
060      }
061    
062      /**
063       * Set value of current project: newly create or edited.
064       * 
065       * @param newProject the newProject to set
066       */
067      public void setNewProject(Boolean newProject) {
068        this.newProject = newProject;
069      }
070    
071      /**
072       * Sets the ProjectsModel for this page.
073       * 
074       * @param projectsModel The projectsModel.
075       */
076      public void setProjectsModel(ProjectsModel projectsModel) {
077        this.projectsModel = projectsModel;
078      }
079    
080      /**
081       * Returns the current ProjectsModel for this page.
082       * 
083       * @return The ProjectsModel.
084       */
085      public ProjectsModel getProjectsModel() {
086        return this.projectsModel;
087      }
088    
089      /**
090       * Get list panel.
091       * 
092       * @return the projListPanel
093       */
094      public Panel getProjListPanel() {
095        return projListPanel;
096      }
097    
098      /**
099       * Set list panel.
100       * 
101       * @param projListPanel the projListPanel to set
102       */
103      public void setProjListPanel(Panel projListPanel) {
104        this.projListPanel = projListPanel;
105      }
106    
107      /**
108       * Get edit panel.
109       * 
110       * @return the projEditPanel
111       */
112      public Panel getProjEditPanel() {
113        return projEditPanel;
114      }
115    
116      /**
117       * Set edit panel.
118       * 
119       * @param projEditPanel the projEditPanel to set
120       */
121      public void setProjEditPanel(Panel projEditPanel) {
122        this.projEditPanel = projEditPanel;
123      }
124    
125      /**
126       * Set clear cache panel.
127       * 
128       * @return the projClearCachePanel
129       */
130      public Panel getProjClearCachePanel() {
131        return projClearCachePanel;
132      }
133    
134      /**
135       * Get clear cache panel.
136       * 
137       * @param projClearCachePanel the projClearCachePanel to set
138       */
139      public void setProjClearCachePanel(Panel projClearCachePanel) {
140        this.projClearCachePanel = projClearCachePanel;
141      }
142    
143      /**
144       * Get feedback label.
145       * 
146       * @return the feedbackLabel
147       */
148      public Label getFeedbackLabel() {
149        return feedbackLabel;
150      }
151    
152      /**
153       * Set feedback label.
154       * 
155       * @param feedbackLabel the feedbackLabel to set
156       */
157      public void setFeedbackLabel(Label feedbackLabel) {
158        this.feedbackLabel = feedbackLabel;
159      }
160    
161      /**
162       * Get project page.
163       * 
164       * @return the projPage
165       */
166      public Page getProjPage() {
167        return projPage;
168      }
169    
170      /**
171       * Set project page.
172       * 
173       * @param projPage the projPage to set
174       */
175      public void setProjPage(Page projPage) {
176        this.projPage = projPage;
177      }
178    
179      /**
180       * Get rename panel.
181       * 
182       * @return the projRenamePanel
183       */
184      public Panel getProjRenamePanel() {
185        return projRenamePanel;
186      }
187    
188      /**
189       * Set rename panel.
190       * 
191       * @param projRenamePanel the projRenamePanel to set
192       */
193      public void setProjRenamePanel(Panel projRenamePanel) {
194        this.projRenamePanel = projRenamePanel;
195      }
196    
197      /**
198       * Get delete panel.
199       * 
200       * @return the projDeletePanel
201       */
202      public Panel getProjDeletePanel() {
203        return projDeletePanel;
204      }
205    
206      /**
207       * Set delete panel.
208       * 
209       * @param projDeletePanel the projDeletePanel to set
210       */
211      public void setProjDeletePanel(Panel projDeletePanel) {
212        this.projDeletePanel = projDeletePanel;
213      }
214    
215      /**
216       * Get leave panel.
217       * 
218       * @return the projLeavePanel
219       */
220      public Panel getProjLeavePanel() {
221        return projLeavePanel;
222      }
223    
224      /**
225       * Set leave panel.
226       * 
227       * @param projLeavePanel the projLeavePanel to set
228       */
229      public void setProjLeavePanel(Panel projLeavePanel) {
230        this.projLeavePanel = projLeavePanel;
231      }
232    
233      /**
234       * Get reply panel.
235       * 
236       * @return the projReplyPanel
237       */
238      public Panel getProjReplyPanel() {
239        return projReplyPanel;
240      }
241    
242      /**
243       * Set reply panel.
244       * 
245       * @param projReplyPanel the projReplyPanel to set
246       */
247      public void setProjReplyPanel(Panel projReplyPanel) {
248        this.projReplyPanel = projReplyPanel;
249      }
250    }