001 /*******************************************************************************
002 * Portions created by Sebastian Thomschke are copyright (c) 2005-2011 Sebastian
003 * Thomschke.
004 *
005 * All Rights Reserved. This program and the accompanying materials
006 * are made available under the terms of the Eclipse Public License v1.0
007 * which accompanies this distribution, and is available at
008 * http://www.eclipse.org/legal/epl-v10.html
009 *
010 * Contributors:
011 * Sebastian Thomschke - initial implementation.
012 *******************************************************************************/
013 package net.sf.oval.collection;
014
015 import java.util.ArrayList;
016 import java.util.LinkedHashMap;
017 import java.util.LinkedHashSet;
018 import java.util.List;
019 import java.util.Map;
020 import java.util.Set;
021
022 /**
023 * @author Sebastian Thomschke
024 */
025 public class CollectionFactoryJDKImpl implements CollectionFactory
026 {
027 /**
028 * {@inheritDoc}
029 */
030 public <ValueType> List<ValueType> createList()
031 {
032 return new ArrayList<ValueType>();
033 }
034
035 /**
036 * {@inheritDoc}
037 */
038 public <ValueType> List<ValueType> createList(final int initialCapacity)
039 {
040 return new ArrayList<ValueType>(initialCapacity);
041 }
042
043 /**
044 * {@inheritDoc}
045 */
046 public <KeyType, ValueType> Map<KeyType, ValueType> createMap()
047 {
048 return new LinkedHashMap<KeyType, ValueType>();
049 }
050
051 /**
052 * {@inheritDoc}
053 */
054 public <KeyType, ValueType> Map<KeyType, ValueType> createMap(final int initialCapacity)
055 {
056 return new LinkedHashMap<KeyType, ValueType>(initialCapacity);
057 }
058
059 /**
060 * {@inheritDoc}
061 */
062 public <ValueType> Set<ValueType> createSet()
063 {
064 return new LinkedHashSet<ValueType>();
065 }
066
067 /**
068 * {@inheritDoc}
069 */
070 public <ValueType> Set<ValueType> createSet(final int initialCapacity)
071 {
072 return new LinkedHashSet<ValueType>(initialCapacity);
073 }
074 }