| /** |
| * Copyright (c) 2011-2012 Eclipse contributors and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v2.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v20.html |
| */ |
| package org.eclipse.emf.ecore.xcore.lib; |
| |
| import org.eclipse.emf.common.util.BasicEList; |
| import org.eclipse.emf.common.util.ECollections; |
| import org.eclipse.emf.common.util.EList; |
| import org.eclipse.emf.common.util.EMap; |
| import org.eclipse.xtext.xbase.lib.Pure; |
| |
| /** |
| * An extension library for {@link java.util.Collection collections}. |
| */ |
| public class XcoreCollectionLiterals |
| { |
| /** |
| * Returns an empty unmodifiable list. |
| * @return an empty unmodifiable list. |
| */ |
| @Pure |
| public static <T> EList<T> emptyEList() |
| { |
| return ECollections.emptyEList(); |
| } |
| |
| /** |
| * Returns an empty unmodifiable map. |
| * @return an empty unmodifiable map. |
| */ |
| @Pure |
| public static <K, V> EMap<K, V> emptyEMap() |
| { |
| return ECollections.emptyEMap(); |
| } |
| |
| /** |
| * Returns an immutable list containing the given elements. |
| * |
| * @param elements the elements that should be contained in the list. May not be <code>null</code>. |
| * @return an immutable list containing the given elements. |
| */ |
| @Pure |
| public static <T> EList<T> newImmutableEList(T... elements) |
| { |
| return new XcoreEListExtensions.UnmodiableArrayView<T>(elements.clone()); |
| } |
| |
| /** |
| * Creates a mutable {@link BasicEList} containing the given elements. |
| * |
| * @param elements the initial elements that the list should contain, in order. May not be <code>null</code>. |
| * @return a new {@link BasicEList} containing the given elements |
| */ |
| @Pure |
| public static <T> BasicEList<T> newBasicEList(T... elements) |
| { |
| return ECollections.newBasicEList(elements); |
| } |
| } |