// BlogBridge -- RSS feed reader, manager, and web based service // Copyright (C) 2002-2006 by R. Pito Salas // // This program 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. // // 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 Public License for more details. // // You should have received a copy of the GNU General Public License along with this program; // if not, write to the Free Software Foundation, Inc., 59 Temple Place, // Suite 330, Boston, MA 02111-1307 USA // // Contact: R. Pito Salas // mailto:pitosalas@users.sourceforge.net // More information: about BlogBridge // http://www.blogbridge.com // http://sourceforge.net/projects/blogbridge // // $Id: GuidesUtils.java,v 1.3 2006/01/08 04:48:16 kyank Exp $ // package com.salas.bb.domain.utils; import com.salas.bb.domain.StandardGuide; import com.salas.bb.domain.IGuide; import java.util.List; import java.util.ArrayList; /** * Set of guides utilities. */ public final class GuidesUtils { /** * Hidden utility class constructor. */ private GuidesUtils() { } /** * Removes the guides we mention from the guides list. * * @param allGuides all guides we have. * @param guidesToFilter guides we need not have in the list. * * @return list of all guides without those we mentioned. */ public static StandardGuide[] filterGuides(StandardGuide[] allGuides, IGuide[] guidesToFilter) { List guidesLeft = new ArrayList(allGuides.length - guidesToFilter.length); for (int i = 0; i < allGuides.length; i++) { StandardGuide guide = allGuides[i]; if (!contains(guide, guidesToFilter)) guidesLeft.add(guide); } return (StandardGuide[])guidesLeft.toArray(new StandardGuide[guidesLeft.size()]); } /** * Returns <code>TRUE</code> if guides list contains the given guide. * * @param aGuide guide to look for. * @param aGuides list of guides to look at. * * @return <code>TRUE</code> if guides list contains the given guide. */ public static boolean contains(IGuide aGuide, IGuide[] aGuides) { boolean contains = false; for (int i = 0; !contains && i < aGuides.length; i++) { contains = aGuide == aGuides[i]; } return contains; } /** * Returns the concatenated list of guides names. * * @param aGuides guides. * * @return comma-separated list of names. */ public static String getGuidesNames(IGuide[] aGuides) { String names = null; if (aGuides != null && aGuides.length > 0) { StringBuffer namesBuf = new StringBuffer(); namesBuf.append(aGuides[0].getTitle()); for (int i = 1; i < aGuides.length; i++) { namesBuf.append(",").append(aGuides[i].getTitle()); } names = namesBuf.toString(); } return names; } }