/* * This file is part of WebLookAndFeel library. * * WebLookAndFeel library is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * WebLookAndFeel library 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 Public License for more details. * * You should have received a copy of the GNU General Public License * along with WebLookAndFeel library. If not, see . */ package com.alee.extended.tree; import com.alee.utils.compare.Filter; import java.util.Comparator; /** * Abstract data provider with implemented comparator and filter getters and setters. * * @author Mikle Garin */ public abstract class AbstractTreeDataProvider implements AsyncTreeDataProvider { /** * Childs comparator. */ protected Comparator comparator = null; /** * Childs filter. */ protected Filter filter = null; /** * {@inheritDoc} */ @Override public Comparator getChildsComparator ( final E node ) { return comparator; } /** * Sets childs comparator for all nodes. * * @param comparator childs comparator for all nodes */ public void setChildsComparator ( final Comparator comparator ) { this.comparator = comparator; } /** * {@inheritDoc} */ @Override public Filter getChildsFilter ( final E node ) { return filter; } /** * Sets childs filter for all nodes. * * @param filter childs filter for all nodes */ public void setChildsFilter ( final Filter filter ) { this.filter = filter; } /** * Returns false by default to allow childs load requests. * It is recommended to override this behavior if you can easily determine whether node is leaf or not. * * @param node node * @return false */ @Override public boolean isLeaf ( final E node ) { return false; } }