src/core/net/sf/basedb/util/collections/BasicItemToIdTransformer.java

Code
Comments
Other
Rev Date Author Line
4712 19 Dec 08 nicklas 1 /**
4712 19 Dec 08 nicklas 2   $Id$
4712 19 Dec 08 nicklas 3
4712 19 Dec 08 nicklas 4   Copyright (C) 2008 Nicklas Nordborg
4712 19 Dec 08 nicklas 5
4712 19 Dec 08 nicklas 6   This file is part of BASE - BioArray Software Environment.
4712 19 Dec 08 nicklas 7   Available at http://base.thep.lu.se/
4712 19 Dec 08 nicklas 8
4712 19 Dec 08 nicklas 9   BASE is free software; you can redistribute it and/or
4712 19 Dec 08 nicklas 10   modify it under the terms of the GNU General Public License
4712 19 Dec 08 nicklas 11   as published by the Free Software Foundation; either version 3
4712 19 Dec 08 nicklas 12   of the License, or (at your option) any later version.
4712 19 Dec 08 nicklas 13
4712 19 Dec 08 nicklas 14   BASE is distributed in the hope that it will be useful,
4712 19 Dec 08 nicklas 15   but WITHOUT ANY WARRANTY; without even the implied warranty of
4712 19 Dec 08 nicklas 16   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
4712 19 Dec 08 nicklas 17   GNU General Public License for more details.
4712 19 Dec 08 nicklas 18
4712 19 Dec 08 nicklas 19   You should have received a copy of the GNU General Public License
4712 19 Dec 08 nicklas 20   along with BASE. If not, see <http://www.gnu.org/licenses/>.
4712 19 Dec 08 nicklas 21 */
4712 19 Dec 08 nicklas 22 package net.sf.basedb.util.collections;
4712 19 Dec 08 nicklas 23
4712 19 Dec 08 nicklas 24 import java.util.Collection;
4712 19 Dec 08 nicklas 25
4712 19 Dec 08 nicklas 26 import net.sf.basedb.core.BasicItem;
4712 19 Dec 08 nicklas 27
4712 19 Dec 08 nicklas 28 /**
4712 19 Dec 08 nicklas 29   Collection transformer implementation that extracts the ID from
4712 19 Dec 08 nicklas 30   {@link BasicItem}:s.
4712 19 Dec 08 nicklas 31
4712 19 Dec 08 nicklas 32   @author Nicklas
4712 19 Dec 08 nicklas 33   @version 2.10
4712 19 Dec 08 nicklas 34   @base.modified $Date$
4712 19 Dec 08 nicklas 35 */
4712 19 Dec 08 nicklas 36 public class BasicItemToIdTransformer
4712 19 Dec 08 nicklas 37   implements CollectionTransformer<BasicItem, Integer>
4712 19 Dec 08 nicklas 38 {
4712 19 Dec 08 nicklas 39
4712 19 Dec 08 nicklas 40   public BasicItemToIdTransformer()
4712 19 Dec 08 nicklas 41   {}
4712 19 Dec 08 nicklas 42   
4712 19 Dec 08 nicklas 43   /*
4712 19 Dec 08 nicklas 44     From the CollectionTransformer interface
4712 19 Dec 08 nicklas 45     ----------------------------------------
4712 19 Dec 08 nicklas 46   */
4712 19 Dec 08 nicklas 47   /**
4712 19 Dec 08 nicklas 48     Put the ID of each BasicItem in the source collection into the 
4712 19 Dec 08 nicklas 49     destination collection.
4712 19 Dec 08 nicklas 50     @return The number of items added to the destination
4712 19 Dec 08 nicklas 51   */
4712 19 Dec 08 nicklas 52   @Override
4712 19 Dec 08 nicklas 53   public int transform(Collection<? extends BasicItem> source, Collection<? super Integer> destination)
4712 19 Dec 08 nicklas 54   {
4712 19 Dec 08 nicklas 55     int added = 0;
4712 19 Dec 08 nicklas 56     for (BasicItem item : source)
4712 19 Dec 08 nicklas 57     {
4712 19 Dec 08 nicklas 58       if (destination.add(item.getId())) added++;
4712 19 Dec 08 nicklas 59     }
4712 19 Dec 08 nicklas 60     return added;
4712 19 Dec 08 nicklas 61   }
4712 19 Dec 08 nicklas 62   // --------------------------------------------
4712 19 Dec 08 nicklas 63 }