jaxx.demo.feature.nav.treetable.MoviesTreeTableNodeLoador Maven / Gradle / Ivy
/*
* #%L
* JAXX :: Demo
* %%
* Copyright (C) 2008 - 2014 Code Lutin, Tony Chemit
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Lesser Public License for more details.
*
* You should have received a copy of the GNU General Lesser Public
* License along with this program. If not, see
* .
* #L%
*/
package jaxx.demo.feature.nav.treetable;
import jaxx.demo.entities.DemoDataProvider;
import jaxx.demo.entities.Movie;
import jaxx.demo.feature.nav.NavDemoHandler;
import jaxx.runtime.swing.nav.NavDataProvider;
import jaxx.runtime.swing.nav.NavHelper;
import jaxx.runtime.swing.nav.treetable.NavTreeTableNodeChildLoador;
import java.util.List;
import static org.nuiton.i18n.I18n.n;
/**
* @author Sylvain Lletellier
* @since 2.1
*/
public class MoviesTreeTableNodeLoador extends NavTreeTableNodeChildLoador {
private static final long serialVersionUID = 1L;
protected boolean isTreeTable;
public MoviesTreeTableNodeLoador() {
this(false);
}
public MoviesTreeTableNodeLoador(boolean isTreeTable) {
super(Movie.class);
this.isTreeTable = isTreeTable;
}
@Override
public List getData(Class> parentClass,
String parentId,
NavDataProvider dataProvider) throws Exception {
DemoDataProvider provider = (DemoDataProvider) dataProvider;
// Return all movies
return provider.getMovies();
}
@Override
public NavDemoTreeTableNode createNode(Movie data,
NavDataProvider dataProvider) {
NavDemoTreeTableNode moviesNode;
NavDemoTreeTableNode actorsCategoryNode;
// Create movies static nodes
moviesNode = new NavDemoTreeTableNode(
getBeanType(),
data.getId(),
null,
null
);
// Create clients category node
actorsCategoryNode = new NavDemoTreeTableNode(
String.class,
n(NavDemoHandler.ACTORS_CATEGORY_NODE),
null,
NavHelper.getChildLoador(ActorsTreeTableNodeLoador.class)
);
// Add actors nodes to movies node
moviesNode.add(actorsCategoryNode);
return moviesNode;
}
}