DetailsActivity, ListActivity: Move some variables into a base class.
[online-glom:gwt-glom.git] / src / main / java / org / glom / web / client / activity / HasTableActivity.java
1 /*
2  * Copyright (C) 2012 Openismus GmbH
3  *
4  * This file is part of GWT-Glom.
5  *
6  * GWT-Glom is free software: you can redistribute it and/or modify it
7  * under the terms of the GNU Lesser General Public License as published by the
8  * Free Software Foundation, either version 3 of the License, or (at your
9  * option) any later version.
10  *
11  * GWT-Glom is distributed in the hope that it will be useful, but WITHOUT
12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
14  * for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public License
17  * along with GWT-Glom.  If not, see <http://www.gnu.org/licenses/>.
18  */
19
20 package org.glom.web.client.activity;
21
22 import org.glom.web.client.ClientFactory;
23 import org.glom.web.client.place.HasTablePlace;
24 import org.glom.web.client.ui.AuthenticationPopup;
25 import org.glom.web.client.ui.View;
26
27 import com.google.gwt.activity.shared.AbstractActivity;
28 import com.google.gwt.place.shared.Place;
29
30 /**
31  * @author Ben Konrath <ben@bagu.org>
32  * 
33  */
34 public abstract class HasTableActivity extends AbstractActivity implements View.Presenter {
35
36         protected final ClientFactory clientFactory;
37         protected final String documentID;
38         protected final String tableName;
39         protected final AuthenticationPopup authenticationPopup;
40
41         /**
42          * 
43          */
44         public HasTableActivity(final HasTablePlace place, final ClientFactory clientFactory) {
45                 super();
46                 this.documentID = place.getDocumentID(); // TODO: Just store the place?
47                 this.tableName = place.getTableName();
48                 this.clientFactory = clientFactory;
49                 this.authenticationPopup = clientFactory.getAuthenticationPopup();
50         }
51
52         /*
53          * (non-Javadoc)
54          * 
55          * @see org.glom.web.client.ui.View.Presenter#goTo(com.google.gwt.place.shared.Place)
56          */
57         @Override
58         public void goTo(final Place place) {
59                 clientFactory.getPlaceController().goTo(place);
60         }
61
62 }