/******************************************************************************* * Copyright (c) 2008 Borland Software Corporation 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: * Borland Software Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.m2m.qvt.oml.examples.blackbox; import java.util.Arrays; import java.util.Date; import java.util.LinkedHashSet; import java.util.List; import java.util.Set; import org.eclipse.emf.ecore.EClassifier; import org.eclipse.emf.ecore.EcoreFactory; import org.eclipse.emf.ecore.EcorePackage; import org.eclipse.m2m.qvt.oml.blackbox.java.Operation; import org.eclipse.m2m.qvt.oml.blackbox.java.Parameter; import org.eclipse.ocl.util.Bag; import org.eclipse.ocl.util.CollectionUtil; public class UtilitiesLibrary { public UtilitiesLibrary() { super(); } public Date createDate(String dateStr) { return (Date)EcoreFactory.eINSTANCE.createFromString(EcorePackage.eINSTANCE.getEDate(), dateStr); } @Operation(contextual=true) public static boolean before(Date self, Date when) { return self.before(when); } @Operation(contextual=true) public static List<String> split( String self, @Parameter(name="regexp") String regexp) { return CollectionUtil.createNewSequence(Arrays.asList(self.split(regexp))); } @Operation(contextual=true) public static String getQualifiedName(EClassifier self) { return self.getEPackage().getName() + "::" + self.getName(); } public static Set<LinkedHashSet<List<Bag<Boolean>>>> testAllCollectionTypes(boolean element) { final Bag<Boolean> createNewBag = CollectionUtil.createNewBag(); createNewBag.add(element); final List<Bag<Boolean>> createNewSequence = CollectionUtil.createNewSequence(); createNewSequence.add(createNewBag); final LinkedHashSet<List<Bag<Boolean>>> createNewOrderedSet = CollectionUtil.createNewOrderedSet(); createNewOrderedSet.add(createNewSequence); final Set<LinkedHashSet<List<Bag<Boolean>>>> result = CollectionUtil.createNewSet(); result.add(createNewOrderedSet); return result; } }