/**************************************************************************** * Copyright (c) 2005, 2010 Jan S. Rellermeyer, Systems Group, * Department of Computer Science, ETH Zurich and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Jan S. Rellermeyer - initial API and implementation * Markus Alexander Kuppe - enhancements and bug fixes * *****************************************************************************/ package ch.ethz.iks.slp.impl; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import ch.ethz.iks.slp.ServiceLocationEnumeration; import ch.ethz.iks.slp.ServiceLocationException; /** * the implementation of a ServiceLocationEnumeration. * * @see ch.ethz.iks.slp.ServiceLocationEnumeration * @author Jan S. Rellermeyer, IKS, ETH Z�rich * @since 0.1 */ class ServiceLocationEnumerationImpl implements ServiceLocationEnumeration { /** * a list of results. */ private List list; /** * internal Iterator over the elements of the list. */ private Iterator iterator; /** * creates a new ServiceLocationEnumerationImpl. * * @param resultList * a list of results. */ ServiceLocationEnumerationImpl(final List resultList) { list = resultList != null ? resultList : new ArrayList(); this.iterator = list.iterator(); } /** * returns the next element of the Enumeration. * * @return the next element. * @throws ServiceLocationException * if there is no more element. * @see ch.ethz.iks.slp.ServiceLocationEnumeration#next() */ public synchronized Object next() throws ServiceLocationException { try { return iterator.next(); } catch (Exception e) { throw new ServiceLocationException( ServiceLocationException.INTERNAL_SYSTEM_ERROR, e .getMessage()); } } /** * checks if the Enumeration has more elements. * * @return true if there are more elements available. */ public synchronized boolean hasMoreElements() { return iterator.hasNext(); } /** * returns the next elenemt of the Enumeration. * * @return the next element or null if there aren't any more. */ public synchronized Object nextElement() { try { return next(); } catch (ServiceLocationException sle) { return null; } } public void testMethod() { // TODO Auto-generated method stub } }