-/*******************************************************************************\r
- * Copyright (c) 2007, 2010 Association for Decentralized Information Management\r
- * in Industry THTH ry.\r
- * All rights reserved. This program and the accompanying materials\r
- * are made available under the terms of the Eclipse Public License v1.0\r
- * which accompanies this distribution, and is available at\r
- * http://www.eclipse.org/legal/epl-v10.html\r
- *\r
- * Contributors:\r
- * VTT Technical Research Centre of Finland - initial API and implementation\r
- *******************************************************************************/\r
-package fi.vtt.simantics.procore.internal;\r
-\r
-import gnu.trove.list.array.TIntArrayList;\r
-\r
-import java.util.Collection;\r
-import java.util.Iterator;\r
-\r
-import org.simantics.db.DirectStatements;\r
-import org.simantics.db.Resource;\r
-import org.simantics.db.Statement;\r
-import org.simantics.db.impl.ResourceImpl;\r
-import org.simantics.db.impl.support.ResourceSupport;\r
-\r
-final public class DirectStatementsImpl implements DirectStatements {\r
-\r
- final ResourceSupport support;\r
- final int subject;\r
- final TIntArrayList statements = new TIntArrayList();\r
- \r
- DirectStatementsImpl(ResourceSupport support, int subject) {\r
- this.support = support;\r
- this.subject = subject;\r
- }\r
- \r
- void addStatement(int p, int o) {\r
- statements.add(p);\r
- statements.add(o);\r
- }\r
- \r
- @Override\r
- public Resource getSubject() {\r
- return new ResourceImpl(support, subject);\r
- }\r
-\r
- @Override\r
- public boolean add(Statement arg0) {\r
- throw new Error("Not supported");\r
- }\r
-\r
- @Override\r
- public boolean addAll(Collection<? extends Statement> arg0) {\r
- throw new Error("Not supported");\r
- }\r
-\r
- @Override\r
- public void clear() {\r
- throw new Error("Not supported");\r
- }\r
-\r
- @Override\r
- public boolean contains(Object arg0) {\r
- Statement stm = (Statement)arg0;\r
- ResourceImpl p = (ResourceImpl)stm.getPredicate();\r
- ResourceImpl o = (ResourceImpl)stm.getObject();\r
- for(int i=0;i<statements.size();i+=2) {\r
- int pi = statements.getQuick(i);\r
- int oi = statements.getQuick(i+1);\r
- if(p.id == pi && o.id == oi) return true;\r
- }\r
- return false;\r
- }\r
-\r
- @Override\r
- public boolean containsAll(Collection<?> arg0) {\r
- throw new Error("Not supported");\r
- }\r
-\r
- @Override\r
- public boolean isEmpty() {\r
- throw new Error("Not supported");\r
- }\r
-\r
- @Override\r
- public Iterator<Statement> iterator() {\r
- return new Iterator<Statement>() {\r
-\r
- int index = 0;\r
- int max = statements.size();\r
- \r
- @Override\r
- public boolean hasNext() {\r
- return index < max; \r
- }\r
-\r
- @Override\r
- public Statement next() {\r
- return new DirectStatementImpl(support, subject, statements.getQuick(index++), statements.getQuick(index++));\r
- }\r
-\r
- @Override\r
- public void remove() {\r
- throw new Error("Not supported");\r
- }\r
- \r
- };\r
- }\r
-\r
- @Override\r
- public boolean remove(Object arg0) {\r
- throw new Error("Not supported");\r
- }\r
-\r
- @Override\r
- public boolean removeAll(Collection<?> arg0) {\r
- throw new Error("Not supported");\r
- }\r
-\r
- @Override\r
- public boolean retainAll(Collection<?> arg0) {\r
- throw new Error("Not supported");\r
- }\r
-\r
- @Override\r
- public int size() {\r
- return statements.size() >> 1;\r
- }\r
-\r
- @Override\r
- public Object[] toArray() {\r
- throw new Error("Not supported");\r
- }\r
-\r
- @Override\r
- public <T> T[] toArray(T[] arg0) {\r
- throw new Error("Not supported");\r
- }\r
- \r
-}\r
+/*******************************************************************************
+ * Copyright (c) 2007, 2010 Association for Decentralized Information Management
+ * in Industry THTH ry.
+ * 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:
+ * VTT Technical Research Centre of Finland - initial API and implementation
+ *******************************************************************************/
+package fi.vtt.simantics.procore.internal;
+
+import gnu.trove.list.array.TIntArrayList;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.simantics.db.DirectStatements;
+import org.simantics.db.Resource;
+import org.simantics.db.Statement;
+import org.simantics.db.impl.ResourceImpl;
+import org.simantics.db.impl.support.ResourceSupport;
+
+final public class DirectStatementsImpl implements DirectStatements {
+
+ final ResourceSupport support;
+ final int subject;
+ final TIntArrayList statements = new TIntArrayList();
+
+ DirectStatementsImpl(ResourceSupport support, int subject) {
+ this.support = support;
+ this.subject = subject;
+ }
+
+ void addStatement(int p, int o) {
+ statements.add(p);
+ statements.add(o);
+ }
+
+ @Override
+ public Resource getSubject() {
+ return new ResourceImpl(support, subject);
+ }
+
+ @Override
+ public boolean add(Statement arg0) {
+ throw new Error("Not supported");
+ }
+
+ @Override
+ public boolean addAll(Collection<? extends Statement> arg0) {
+ throw new Error("Not supported");
+ }
+
+ @Override
+ public void clear() {
+ throw new Error("Not supported");
+ }
+
+ @Override
+ public boolean contains(Object arg0) {
+ Statement stm = (Statement)arg0;
+ ResourceImpl p = (ResourceImpl)stm.getPredicate();
+ ResourceImpl o = (ResourceImpl)stm.getObject();
+ for(int i=0;i<statements.size();i+=2) {
+ int pi = statements.getQuick(i);
+ int oi = statements.getQuick(i+1);
+ if(p.id == pi && o.id == oi) return true;
+ }
+ return false;
+ }
+
+ @Override
+ public boolean containsAll(Collection<?> arg0) {
+ throw new Error("Not supported");
+ }
+
+ @Override
+ public boolean isEmpty() {
+ throw new Error("Not supported");
+ }
+
+ @Override
+ public Iterator<Statement> iterator() {
+ return new Iterator<Statement>() {
+
+ int index = 0;
+ int max = statements.size();
+
+ @Override
+ public boolean hasNext() {
+ return index < max;
+ }
+
+ @Override
+ public Statement next() {
+ return new DirectStatementImpl(support, subject, statements.getQuick(index++), statements.getQuick(index++));
+ }
+
+ @Override
+ public void remove() {
+ throw new Error("Not supported");
+ }
+
+ };
+ }
+
+ @Override
+ public boolean remove(Object arg0) {
+ throw new Error("Not supported");
+ }
+
+ @Override
+ public boolean removeAll(Collection<?> arg0) {
+ throw new Error("Not supported");
+ }
+
+ @Override
+ public boolean retainAll(Collection<?> arg0) {
+ throw new Error("Not supported");
+ }
+
+ @Override
+ public int size() {
+ return statements.size() >> 1;
+ }
+
+ @Override
+ public Object[] toArray() {
+ throw new Error("Not supported");
+ }
+
+ @Override
+ public <T> T[] toArray(T[] arg0) {
+ throw new Error("Not supported");
+ }
+
+}