/*
* Copyright 2007-2010 Enrico Boldrini, Lorenzo Bigagli This file is part of
* CheckboxTree. CheckboxTree 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 2 of the License, or (at your
* option) any later version. CheckboxTree 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 CheckboxTree; if not, write to the Free
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA
*/
package it.cnr.imaa.essi.lablib.gui.checkboxtree;
import javax.swing.tree.TreePath;
/**
* Convenience class representing an empty tree checking model (cf. the Null
* Object pattern), whose paths are always enabled, unchecked and ungreyed. This
* class is a singleton.
* @author Lorenzo Bigagli
*/
public class NullTreeCheckingModel implements TreeCheckingModel {
private final static NullTreeCheckingModel singleton;
static {
singleton = new NullTreeCheckingModel();
}
private NullTreeCheckingModel() {
}
public static NullTreeCheckingModel getInstance() {
return singleton;
}
/*
* (non-Javadoc)
* @see
* it.cnr.imaa.essi.lablib.gui.checkboxtree.TreeCheckingModel#addCheckingPath
* (javax.swing.tree.TreePath)
*/
@Override
public void addCheckingPath(TreePath path) {
// nothing to do (cf. the Null Object pattern)
}
/*
* (non-Javadoc)
* @see
* it.cnr.imaa.essi.lablib.gui.checkboxtree.TreeCheckingModel#addCheckingPaths
* (javax.swing.tree.TreePath[])
*/
@Override
public void addCheckingPaths(TreePath[] paths) {
// nothing to do (cf. the Null Object pattern)
}
/*
* (non-Javadoc)
* @seeit.cnr.imaa.essi.lablib.gui.checkboxtree.TreeCheckingModel#
* addTreeCheckingListener
* (it.cnr.imaa.essi.lablib.gui.checkboxtree.TreeCheckingListener)
*/
@Override
public void addTreeCheckingListener(TreeCheckingListener tcl) {
// nothing to do (cf. the Null Object pattern)
}
/*
* (non-Javadoc)
* @see
* it.cnr.imaa.essi.lablib.gui.checkboxtree.TreeCheckingModel#clearChecking
* ()
*/
@Override
public void clearChecking() {
// nothing to do (cf. the Null Object pattern)
}
/*
* (non-Javadoc)
* @see
* it.cnr.imaa.essi.lablib.gui.checkboxtree.TreeCheckingModel#getCheckingMode
* ()
*/
@Override
public CheckingMode getCheckingMode() {
return null;
}
/*
* (non-Javadoc)
* @see
* it.cnr.imaa.essi.lablib.gui.checkboxtree.TreeCheckingModel#getCheckingPaths
* ()
*/
@Override
public TreePath[] getCheckingPaths() {
return null;
}
/*
* (non-Javadoc)
* @see
* it.cnr.imaa.essi.lablib.gui.checkboxtree.TreeCheckingModel#getCheckingRoots
* ()
*/
@Override
public TreePath[] getCheckingRoots() {
return null;
}
/*
* (non-Javadoc)
* @see
* it.cnr.imaa.essi.lablib.gui.checkboxtree.TreeCheckingModel#getGreyingPaths
* ()
*/
@Override
public TreePath[] getGreyingPaths() {
return null;
}
/*
* (non-Javadoc)
* @see
* it.cnr.imaa.essi.lablib.gui.checkboxtree.TreeCheckingModel#isPathChecked
* (javax.swing.tree.TreePath)
*/
@Override
public boolean isPathChecked(TreePath path) {
return false;
}
/*
* (non-Javadoc)
* @see
* it.cnr.imaa.essi.lablib.gui.checkboxtree.TreeCheckingModel#isPathEnabled
* (javax.swing.tree.TreePath)
*/
@Override
public boolean isPathEnabled(TreePath path) {
return true;
}
/*
* (non-Javadoc)
* @see
* it.cnr.imaa.essi.lablib.gui.checkboxtree.TreeCheckingModel#isPathGreyed
* (javax.swing.tree.TreePath)
*/
@Override
public boolean isPathGreyed(TreePath path) {
return false;
}
/*
* (non-Javadoc)
* @see
* it.cnr.imaa.essi.lablib.gui.checkboxtree.TreeCheckingModel#removeCheckingPath
* (javax.swing.tree.TreePath)
*/
@Override
public void removeCheckingPath(TreePath path) {
// nothing to do (cf. the Null Object pattern)
}
/*
* (non-Javadoc)
* @seeit.cnr.imaa.essi.lablib.gui.checkboxtree.TreeCheckingModel#
* removeCheckingPaths(javax.swing.tree.TreePath[])
*/
@Override
public void removeCheckingPaths(TreePath[] paths) {
// nothing to do (cf. the Null Object pattern)
}
/*
* (non-Javadoc)
* @seeit.cnr.imaa.essi.lablib.gui.checkboxtree.TreeCheckingModel#
* removeTreeCheckingListener
* (it.cnr.imaa.essi.lablib.gui.checkboxtree.TreeCheckingListener)
*/
@Override
public void removeTreeCheckingListener(TreeCheckingListener tcl) {
// nothing to do (cf. the Null Object pattern)
}
/*
* (non-Javadoc)
* @see
* it.cnr.imaa.essi.lablib.gui.checkboxtree.TreeCheckingModel#setCheckingMode
* (it.cnr.imaa.essi.lablib.gui.checkboxtree.TreeCheckingModel.CheckingMode)
*/
@Override
public void setCheckingMode(CheckingMode mode) {
// nothing to do (cf. the Null Object pattern)
}
/*
* (non-Javadoc)
* @see
* it.cnr.imaa.essi.lablib.gui.checkboxtree.TreeCheckingModel#setCheckingPath
* (javax.swing.tree.TreePath)
*/
@Override
public void setCheckingPath(TreePath path) {
// nothing to do (cf. the Null Object pattern)
}
/*
* (non-Javadoc)
* @see
* it.cnr.imaa.essi.lablib.gui.checkboxtree.TreeCheckingModel#setCheckingPaths
* (javax.swing.tree.TreePath[])
*/
@Override
public void setCheckingPaths(TreePath[] paths) {
// nothing to do (cf. the Null Object pattern)
}
/*
* (non-Javadoc)
* @see
* it.cnr.imaa.essi.lablib.gui.checkboxtree.TreeCheckingModel#setPathEnabled
* (javax.swing.tree.TreePath, boolean)
*/
@Override
public void setPathEnabled(TreePath path, boolean enable) {
// nothing to do (cf. the Null Object pattern)
}
/*
* (non-Javadoc)
* @see
* it.cnr.imaa.essi.lablib.gui.checkboxtree.TreeCheckingModel#setPathsEnabled
* (javax.swing.tree.TreePath[], boolean)
*/
@Override
public void setPathsEnabled(TreePath[] paths, boolean enable) {
// nothing to do (cf. the Null Object pattern)
}
/*
* (non-Javadoc)
* @see
* it.cnr.imaa.essi.lablib.gui.checkboxtree.TreeCheckingModel#toggleCheckingPath
* (javax.swing.tree.TreePath)
*/
@Override
public void toggleCheckingPath(TreePath pathForRow) {
// nothing to do (cf. the Null Object pattern)
}
}