blob: aa6f1291851eb1e13f5c83734827e714cb07bbcf [file] [log] [blame]
package jpos.profile;
///////////////////////////////////////////////////////////////////////////////
//
// This software is provided "AS IS". The JavaPOS working group (including
// each of the Corporate members, contributors and individuals) MAKES NO
// REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE SOFTWARE,
// EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
// WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NON-INFRINGEMENT. The JavaPOS working group shall not be liable for
// any damages suffered as a result of using, modifying or distributing this
// software or its derivatives. Permission to use, copy, modify, and distribute
// the software and its documentation for any purpose is hereby granted.
//
// The JavaPOS Config/Loader (aka JCL) is now under the CPL license, which
// is an OSS Apache-like license. The complete license is located at:
// http://oss.software.ibm.com/developerworks/opensource/license-cpl.html
//
///////////////////////////////////////////////////////////////////////////////
import java.util.*;
/**
* Default implementation of the PropValueList interface
* @since 1.3 (SF 2K meeting)
* @author E. Michael Maximilien (maxim@us.ibm.com)
*/
class DefaultPropValueList extends Object implements PropValueList
{
//-------------------------------------------------------------------------
// Ctor(s)
//
/** Default ctor */
DefaultPropValueList() {}
//-------------------------------------------------------------------------
// Public methods
//
/** @return the current size of this list */
public int getSize() { return list.size(); }
/** @return true if this list is empty */
public boolean isEmpty() { return list.isEmpty(); }
/**
* Adds a new PropValue to this list
* @param propValue the propValue to add
*/
public void add( PropValue propValue ) { list.add( propValue ); }
/**
* Removes the PropValue to this list
* @param propValue the propValue to remove
*/
public void remove( PropValue propValue ) { list.remove( propValue ); }
/** Removes all PropValue in this list */
public void removeAll() { list.clear(); }
/**
* @return true if the PropValue is already in the list
* @param propValue the PropValue
*/
public boolean contains( PropValue propValue ) { return list.contains( propValue ); }
/** @return an PropValueList.Iterator object for this list */
public PropValueList.Iterator iterator() { return this.new DefaultIterator(); }
//-------------------------------------------------------------------------
// Inner interfaces
//
/**
* Simple interface to iterate through the list
* @author E. Michael Maximilien (maxim@us.ibm.com)
* @since 1.3 (SF 2K meeting)
*/
class DefaultIterator extends Object implements PropValueList.Iterator
{
//---------------------------------------------------------------------
// Ctor(s)
//
/** Default ctor */
DefaultIterator() { iterator = list.iterator(); }
//---------------------------------------------------------------------
// Public methods
//
/** @return the next PropValue in the iterator */
public PropValue next() { return (PropValue)iterator.next(); }
/** @return true if there is a next PropValue in the iterator */
public boolean hasNext() { return iterator.hasNext(); }
//---------------------------------------------------------------------
// Instance variables
//
private java.util.Iterator iterator = null;
}
//-------------------------------------------------------------------------
// Instance variables
//
private List list = new ArrayList();
}