Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2011-05-11 16:40:55 +0000
committerEike Stepper2011-05-11 16:40:55 +0000
commit3526172909a833dbe0bd934b2f05ca3d00a10fc2 (patch)
tree0babad7a5d020ef380bd57c6cac66c579e2d1d03 /plugins/org.eclipse.emf.cdo.common
parent266fde9b5f65f167000c143c12adb874107edadc (diff)
downloadcdo-3526172909a833dbe0bd934b2f05ca3d00a10fc2.tar.gz
cdo-3526172909a833dbe0bd934b2f05ca3d00a10fc2.tar.xz
cdo-3526172909a833dbe0bd934b2f05ca3d00a10fc2.zip
[345456] Add API to CDOQuery to get the result without specifying a class literal
https://bugs.eclipse.org/bugs/show_bug.cgi?id=345456
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.common')
-rw-r--r--plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/CDOModelUtil.java98
1 files changed, 98 insertions, 0 deletions
diff --git a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/CDOModelUtil.java b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/CDOModelUtil.java
index 7bb81eb0c9..89e8239427 100644
--- a/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/CDOModelUtil.java
+++ b/plugins/org.eclipse.emf.cdo.common/src/org/eclipse/emf/cdo/common/model/CDOModelUtil.java
@@ -11,6 +11,8 @@
*/
package org.eclipse.emf.cdo.common.model;
+import org.eclipse.emf.cdo.common.id.CDOID;
+import org.eclipse.emf.cdo.common.revision.CDORevision;
import org.eclipse.emf.cdo.internal.common.bundle.OM;
import org.eclipse.emf.cdo.internal.common.messages.Messages;
import org.eclipse.emf.cdo.internal.common.model.CDOClassInfoImpl;
@@ -38,9 +40,12 @@ import org.eclipse.emf.ecore.EcorePackage;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.FeatureMap;
import org.eclipse.emf.ecore.util.FeatureMapUtil;
import java.io.IOException;
+import java.math.BigDecimal;
+import java.math.BigInteger;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Date;
@@ -366,6 +371,99 @@ public final class CDOModelUtil
}
/**
+ * @since 4.0
+ */
+ public static CDOType getTypeOfObject(Object object)
+ {
+ if (object instanceof BigDecimal)
+ {
+ return CDOType.BIG_DECIMAL;
+ }
+
+ if (object instanceof BigInteger)
+ {
+ return CDOType.BIG_INTEGER;
+ }
+
+ if (object instanceof Boolean)
+ {
+ return CDOType.BOOLEAN_OBJECT;
+ }
+
+ if (object instanceof Byte)
+ {
+ return CDOType.BYTE_OBJECT;
+ }
+
+ if (object instanceof byte[])
+ {
+ return CDOType.BYTE_ARRAY;
+ }
+
+ if (object instanceof Character)
+ {
+ return CDOType.CHARACTER_OBJECT;
+ }
+
+ if (object instanceof Date)
+ {
+ return CDOType.DATE;
+ }
+
+ if (object instanceof Double)
+ {
+ return CDOType.DOUBLE_OBJECT;
+ }
+
+ if (object instanceof EEnumLiteral)
+ {
+ return CDOType.ENUM_LITERAL;
+ }
+
+ if (object instanceof FeatureMap.Entry)
+ {
+ return CDOType.FEATURE_MAP_ENTRY;
+ }
+
+ if (object instanceof Float)
+ {
+ return CDOType.FLOAT_OBJECT;
+ }
+
+ if (object instanceof Integer)
+ {
+ return CDOType.INTEGER_OBJECT;
+ }
+
+ if (object instanceof Long)
+ {
+ return CDOType.LONG_OBJECT;
+ }
+
+ if (object instanceof Short)
+ {
+ return CDOType.SHORT_OBJECT;
+ }
+
+ if (object instanceof String)
+ {
+ return CDOType.STRING;
+ }
+
+ if (object instanceof CDOID || object instanceof CDORevision)
+ {
+ return CDOType.OBJECT;
+ }
+
+ if (object == null)
+ {
+ return CDOType.OBJECT;
+ }
+
+ throw new IllegalArgumentException("Object type " + object.getClass().getName() + " is not supported.");
+ }
+
+ /**
* @since 2.0
*/
public static CDOPackageInfo getPackageInfo(Object value, CDOPackageRegistry packageRegistry)

Back to the top