--- /dev/null
+package org.simantics.db.layer0.variable;
+
+import org.simantics.db.Resource;
+
+public interface VariableOrResource {
+
+ public static VariableOrResource make(Resource value) {
+ return new ResourceX(value);
+ }
+
+ public static VariableOrResource make(Variable value) {
+ return new VariableX(value);
+ }
+
+ public static VariableOrResource make(Object value) {
+ if(value instanceof Resource)
+ return make((Resource)value);
+ if(value instanceof Variable)
+ return make((Variable)value);
+ throw new IllegalArgumentException("VariableOrResource acccepts only Variable or Resource, got " + value + " with class " + value.getClass().getName());
+ }
+
+}