blob: e21efd4c3d61235b5cc0fc344cb4503536d3751c [file] [log] [blame]
/*
* Copyright (c) 2008, 2010 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:
* Alexander Shatalin (Borland) - initial API and implementation
*/
package org.eclipse.gmf.internal.xpand.qvtlibraries;
import org.eclipse.m2m.qvt.oml.blackbox.java.Operation;
import org.eclipse.m2m.qvt.oml.blackbox.java.Operation.Kind;
public class XpandOclAnyOperations {
@Operation(contextual = true, kind = Kind.HELPER)
public static Boolean xpandCompareTo(Object self, Object parameter) {
if (self == null) {
return parameter == null;
}
if (parameter == null) {
return false;
}
if (self instanceof Comparable<?>) {
@SuppressWarnings("unchecked") Comparable<Object> x = (Comparable<Object>) self;
return x.compareTo(parameter) == 0;
}
return String.valueOf(self).compareTo(String.valueOf(parameter)) == 0;
}
}