src/core/net/sf/basedb/util/overview/filter/NodeTypeFilter.java

Code
Comments
Other
Rev Date Author Line
7762 28 Nov 19 nicklas 1 /**
7762 28 Nov 19 nicklas 2   $Id $
7762 28 Nov 19 nicklas 3
7762 28 Nov 19 nicklas 4   Copyright (C) 2019 Nicklas Nordborg
7762 28 Nov 19 nicklas 5
7762 28 Nov 19 nicklas 6   This file is part of BASE - BioArray Software Environment.
7762 28 Nov 19 nicklas 7   Available at http://base.thep.lu.se/
7762 28 Nov 19 nicklas 8
7762 28 Nov 19 nicklas 9   BASE is free software; you can redistribute it and/or
7762 28 Nov 19 nicklas 10   modify it under the terms of the GNU General Public License
7762 28 Nov 19 nicklas 11   as published by the Free Software Foundation; either version 3
7762 28 Nov 19 nicklas 12   of the License, or (at your option) any later version.
7762 28 Nov 19 nicklas 13
7762 28 Nov 19 nicklas 14   BASE is distributed in the hope that it will be useful,
7762 28 Nov 19 nicklas 15   but WITHOUT ANY WARRANTY; without even the implied warranty of
7762 28 Nov 19 nicklas 16   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
7762 28 Nov 19 nicklas 17   GNU General Public License for more details.
7762 28 Nov 19 nicklas 18
7762 28 Nov 19 nicklas 19   You should have received a copy of the GNU General Public License
7762 28 Nov 19 nicklas 20   along with BASE. If not, see <http://www.gnu.org/licenses/>.
7762 28 Nov 19 nicklas 21 */
7762 28 Nov 19 nicklas 22 package net.sf.basedb.util.overview.filter;
7762 28 Nov 19 nicklas 23
7762 28 Nov 19 nicklas 24 import net.sf.basedb.util.filter.Filter;
7762 28 Nov 19 nicklas 25 import net.sf.basedb.util.overview.Node;
7762 28 Nov 19 nicklas 26
7762 28 Nov 19 nicklas 27 /**
7762 28 Nov 19 nicklas 28   A filter implementation that matches the node type.
7762 28 Nov 19 nicklas 29   It will evaluate to true for all {@link Node}:s whose
7762 28 Nov 19 nicklas 30   {@link Node#getNodeType()} method matches the given node
7762 28 Nov 19 nicklas 31   type.
7762 28 Nov 19 nicklas 32
7762 28 Nov 19 nicklas 33   @author Nicklas
7762 28 Nov 19 nicklas 34   @since 3.16
7762 28 Nov 19 nicklas 35 */
7762 28 Nov 19 nicklas 36 public class NodeTypeFilter
7762 28 Nov 19 nicklas 37   implements Filter<Node>
7762 28 Nov 19 nicklas 38 {
7762 28 Nov 19 nicklas 39   
7762 28 Nov 19 nicklas 40   private final Node.Type nodeType;
7762 28 Nov 19 nicklas 41   
7762 28 Nov 19 nicklas 42   /**
7762 28 Nov 19 nicklas 43     Create a filter that finds nodes of the given node type.
7762 28 Nov 19 nicklas 44     @param nodeType The node type to look for
7762 28 Nov 19 nicklas 45   */
7762 28 Nov 19 nicklas 46   public NodeTypeFilter(Node.Type nodeType)
7762 28 Nov 19 nicklas 47   {
7762 28 Nov 19 nicklas 48     this.nodeType = nodeType;
7762 28 Nov 19 nicklas 49   }
7762 28 Nov 19 nicklas 50
7762 28 Nov 19 nicklas 51   /*
7762 28 Nov 19 nicklas 52     From the Filter interface
7762 28 Nov 19 nicklas 53     -------------------------
7762 28 Nov 19 nicklas 54   */
7762 28 Nov 19 nicklas 55   @Override
7762 28 Nov 19 nicklas 56   public boolean evaluate(Node node)
7762 28 Nov 19 nicklas 57   {
7762 28 Nov 19 nicklas 58     return node.getNodeType() == nodeType;
7762 28 Nov 19 nicklas 59   }
7762 28 Nov 19 nicklas 60   // -----------------------------
7762 28 Nov 19 nicklas 61 }