diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/category/CategoryIteratorListModel.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/category/CategoryIteratorListModel.java new file mode 100755 index 000000000..9f28f91b3 --- /dev/null +++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/category/CategoryIteratorListModel.java @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2001-2004 Red Hat Inc. All Rights Reserved. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ +package com.arsdigita.cms.ui.category; + +import com.arsdigita.bebop.list.ListModel; +import org.libreccm.categorization.Category; + +import java.util.Iterator; + +/** + * A {@link ListModel} that iterates over categories via an iterator + * + * @author Yannick Bülter + * @version $Id: CategoryIteratorListModel.java 2090 2010-04-17 08:04:14Z pboy $ + */ +public class CategoryIteratorListModel implements ListModel { + + private Iterator m_iter; + private Category m_cat; + + /** + * Construct a new CategoryIteratorListModel + * + * @param iter an {@link Iterator} over all the categories + * which this model will supply + */ + public CategoryIteratorListModel(Iterator iter) { + m_iter = iter; + m_cat = null; + } + + public boolean next() { + if(m_iter.hasNext()) { + m_cat = (Category)m_iter.next(); + return true; + } else { + return false; + } + } + + public Object getElement() { + return m_cat.getName(); + } + + public String getKey() { + return m_cat.getUniqueId(); + } +}