View Javadoc
1   package fr.ifremer.dali.ui.swing.action;
2   
3   /*
4    * #%L
5    * Dali :: UI
6    * $Id:$
7    * $HeadURL:$
8    * %%
9    * Copyright (C) 2014 - 2015 Ifremer
10   * %%
11   * This program is free software: you can redistribute it and/or modify
12   * it under the terms of the GNU Affero General Public License as published by
13   * the Free Software Foundation, either version 3 of the License, or
14   * (at your option) any later version.
15   * 
16   * This program is distributed in the hope that it will be useful,
17   * but WITHOUT ANY WARRANTY; without even the implied warranty of
18   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19   * GNU General Public License for more details.
20   * 
21   * You should have received a copy of the GNU Affero General Public License
22   * along with this program.  If not, see <http://www.gnu.org/licenses/>.
23   * #L%
24   */
25  
26  import fr.ifremer.dali.ui.swing.util.DaliUI;
27  import fr.ifremer.quadrige3.ui.swing.AbstractUIHandler;
28  import fr.ifremer.quadrige3.ui.swing.action.AbstractChangeScreenAction;
29  import fr.ifremer.quadrige3.ui.swing.model.AbstractBeanUIModel;
30  import org.nuiton.jaxx.application.swing.AbstractApplicationUIHandler;
31  
32  /**
33   * <p>QuitScreenAction class.</p>
34   *
35   */
36  public class QuitScreenAction<M extends AbstractBeanUIModel<?, M>, UI extends DaliUI<M, ?>, H extends AbstractUIHandler<M, UI>>
37  		extends AbstractCheckBeforeChangeScreenAction<M,UI,H> {
38  
39  	private final Class<? extends AbstractDaliSaveAction> saveActionClass;
40  
41  	/**
42  	 * <p>Constructor for QuitScreenAction.</p>
43  	 *
44  	 * @param handler a H object.
45  	 * @param hideBody a boolean.
46  	 * @param saveActionClass a {@link java.lang.Class} object.
47  	 */
48  	public QuitScreenAction(H handler, boolean hideBody, Class<? extends AbstractDaliSaveAction> saveActionClass) {
49  		super(handler, hideBody);
50  		this.saveActionClass= saveActionClass;
51  	}
52  
53  	/** {@inheritDoc} */
54  	@Override
55  	protected Class<? extends AbstractDaliSaveAction> getSaveActionClass() {
56  		return saveActionClass;
57  	}
58  
59  	/** {@inheritDoc} */
60  	@Override
61  	protected AbstractApplicationUIHandler<?, ?> getSaveHandler() {
62  		return handler;
63  	}
64  
65  	/** {@inheritDoc} */
66  	@Override
67  	protected Class<? extends AbstractChangeScreenAction> getGotoActionClass() {
68  		return null;
69  	}
70  
71  	/** {@inheritDoc} */
72  	@Override
73  	protected boolean isModelModify() {
74  		return getModel().isModify();
75  	}
76  
77  	/** {@inheritDoc} */
78  	@Override
79  	protected boolean isModelValid() {
80  		return getModel().isValid();
81  	}
82  
83  	/** {@inheritDoc} */
84  	@Override
85  	protected void setModelModify(boolean modelModify) {
86  		getModel().setModify(modelModify);
87  	}
88  
89  }