blob: 992f75ababb142a79692ea32fc40c4299748686c [file] [log] [blame]
/*
* Copyright (c) 2010-2012, 2015 Eike Stepper (Berlin, Germany) 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:
* Simon McDuff - initial API and implementation
* Ibrahim Sallam - code refactoring for CDO 3.0
*/
package org.eclipse.emf.cdo.server.internal.objectivity.utils;
import org.eclipse.emf.cdo.common.id.CDOID;
import org.eclipse.emf.cdo.server.internal.objectivity.db.ObjyObject;
import com.objy.as.app.Class_Object;
import com.objy.db.app.ooId;
import com.objy.db.app.ooObj;
/**
* Originally EOOUtil TBD: verify if we really need this class...
*
* @author ibrahim
*/
public class TypeConvert
{
static public ooId toOoId(Object target)
{
if (target == null)
{
return null;
}
if (target instanceof CDOID)
{
if ((CDOID)target == CDOID.NULL)
{
return null;
}
return OBJYCDOIDUtil.getooId((CDOID)target);
}
if (target instanceof ooId)
{
return (ooId)target;
}
else if (target instanceof ObjyObject)
{
return ((ObjyObject)target).ooId();
}
else if (target instanceof ooObj)
{
return ((ooObj)target).getOid();
}
throw new IllegalArgumentException(target.toString());
}
static public ooObj toOoObj(Object target)
{
if (target instanceof ObjyObject)
{
target = ((ObjyObject)target).ooId();
}
if (target instanceof ooId)
{
return ooObj.create_ooObj((ooId)target);
}
throw new IllegalArgumentException(target.toString());
}
static public Class_Object toClassObject(Object target)
{
if (target == null)
{
return null;
}
if (target instanceof Class_Object)
{
return (Class_Object)target;
}
else if (target instanceof ooObj)
{
return new Class_Object(target);
}
else if (target instanceof ooId)
{
return Class_Object.class_object_from_oid((ooId)target);
}
throw new IllegalArgumentException("Not supported " + target);
}
static public ObjyObject toObjyObject(Object target)
{
if (target == null)
{
return null;
}
if (target instanceof ObjyObject)
{
return (ObjyObject)target;
}
else if (target instanceof Class_Object)
{
throw new IllegalArgumentException("Not supported " + target);
}
else if (target instanceof ooId)
{
throw new IllegalArgumentException("Not supported " + target);
}
return null;
}
}