View Javadoc

1   /*
2    * $HeadURL: $
3    * $Date: $
4    * $Revision: $
5    * $Author: $
6    * 
7    * Copyright (c) 2005 MindTree Consulting Ltd. 
8    * 
9    * This file is part of Insight.
10   * 
11   * Insight is free software: you can redistribute it and/or modify it under the 
12   * terms of the GNU General Public License as published by the Free Software 
13   * Foundation, either version 3 of the License, or (at your option) any later 
14   * version.
15   * 
16   * Insight is distributed in the hope that it will be useful, but 
17   * WITHOUT ANY WARRANTY; without even the implied warranty of 
18   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General 
19   * Public License for more details.
20   * 
21   * You should have received a copy of the GNU General Public License along with 
22   * Insight.  If not, see <http://www.gnu.org/licenses/>.
23   */
24  package com.mindtree.techworks.insight.gui.action;
25  
26  import java.awt.event.ActionEvent;
27  
28  import javax.swing.AbstractAction;
29  
30  import com.mindtree.techworks.insight.Controller;
31  import com.mindtree.techworks.insight.gui.Insight;
32  
33  /**
34  *
35  * The <code>ClearDisplayAction</code> class is an AbstractAction derivative that
36  * resets the display of the Insight application 
37  *
38  * @author  Regunath B
39  * @version 1.0, 04/10/25
40  * @see     com.mindtree.techworks.insight.gui.Insight
41  */
42  
43  public class ClearDisplayAction extends AbstractAction {
44  	
45  	/**
46  	 * Used for object serialization
47  	 */
48  	private static final long serialVersionUID = -1048910165977800595L;
49  	
50  	/**
51  	 * The Insight instance that created this Action instance
52  	 */
53  	private Insight insight;
54  	
55  	/**
56  	 * Constructor for this class
57  	 * @param insight the Insight that created an instance of this class
58  	 */
59  	public ClearDisplayAction(Insight insight) {
60  		this.insight = insight;
61  	}
62  	
63  	/**
64  	 * Overriden super class method. Resets the display widgets.
65  	 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
66  	 */
67  	public void actionPerformed(ActionEvent e) {
68  		Controller controller = this.insight.getController();
69  		if(controller.getCurrentLogEventModel() != null){
70  			controller.clearCurrentModel();
71  		}
72  		// Proactively call System.gc() to reclaim memory released because of LogEvent instances being cleared
73  		System.gc();
74  	}
75  }