X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.db%2Fsrc%2Forg%2Fsimantics%2Fdb%2FAsyncReadGraph.java;fp=bundles%2Forg.simantics.db%2Fsrc%2Forg%2Fsimantics%2Fdb%2FAsyncReadGraph.java;h=ab4314247578b46e2ce247ad4ec318d1ac2592d9;hb=969bd23cab98a79ca9101af33334000879fb60c5;hp=0000000000000000000000000000000000000000;hpb=866dba5cd5a3929bbeae85991796acb212338a08;p=simantics%2Fplatform.git
diff --git a/bundles/org.simantics.db/src/org/simantics/db/AsyncReadGraph.java b/bundles/org.simantics.db/src/org/simantics/db/AsyncReadGraph.java
new file mode 100644
index 000000000..ab4314247
--- /dev/null
+++ b/bundles/org.simantics.db/src/org/simantics/db/AsyncReadGraph.java
@@ -0,0 +1,1138 @@
+/*******************************************************************************
+ * 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 org.simantics.db;
+
+import java.util.Set;
+
+import org.simantics.databoard.binding.Binding;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.procedure.AsyncListener;
+import org.simantics.db.procedure.AsyncMultiListener;
+import org.simantics.db.procedure.AsyncMultiProcedure;
+import org.simantics.db.procedure.AsyncProcedure;
+import org.simantics.db.procedure.AsyncSetListener;
+import org.simantics.db.procedure.Listener;
+import org.simantics.db.procedure.MultiListener;
+import org.simantics.db.procedure.MultiProcedure;
+import org.simantics.db.procedure.Procedure;
+import org.simantics.db.procedure.SetListener;
+import org.simantics.db.procedure.SyncListener;
+import org.simantics.db.procedure.SyncMultiListener;
+import org.simantics.db.procedure.SyncMultiProcedure;
+import org.simantics.db.procedure.SyncProcedure;
+import org.simantics.db.procedure.SyncSetListener;
+import org.simantics.db.request.MultiRead;
+import org.simantics.db.request.Read;
+
+/**
+ *
+ * For accessing and manipulating the graph data in asynchronous manner. A client
+ * receives AsyncReadGraph instances for performing requests in {@link Read} and
+ * {@link MultiRead} as well as for reacting to request results using
+ * {@link AsyncProcedure}, {@link AsyncListener}, {@link AsyncMultiProcedure},
+ * {@link AsyncMultiListener} and {@link AsyncSetListener}
+ *
+ * AsyncReadGraph instances are stateful and may not be stored and used outside the
+ * supplier method activation. The methods receiving AsyncReadGraph should not block for long
+ * periods of time since that may delay the processing of other requests. For a
+ * synchronous counterpart with the same functionality as AsyncReadGraph see
+ * {@link ReadGraph}
+ *
+ * @version 0.7
+ * @author Antti Villberg
+ * @see RequestProcessor
+ * @see AsyncRequestProcessor
+ * @see ReadGraph
+ * @see Resource
+ * @see Statement
+ */
+public interface AsyncReadGraph extends AsyncRequestProcessor {
+
+ /**
+ * @see ReadGraph#getURI(Resource)
+ */
+ void forURI(Resource resource, AsyncListener procedure);
+ /**
+ * @see ReadGraph#getURI(Resource)
+ */
+ void forURI(Resource resource, SyncListener procedure);
+ /**
+ * @see ReadGraph#getURI(Resource)
+ */
+ void forURI(Resource resource, Listener procedure);
+ /**
+ * @see ReadGraph#getURI(Resource)
+ */
+ void forURI(Resource resource, AsyncProcedure procedure);
+ /**
+ * @see ReadGraph#getURI(Resource)
+ */
+ void forURI(Resource resource, SyncProcedure procedure);
+ /**
+ * @see ReadGraph#getURI(Resource)
+ */
+ void forURI(Resource resource, Procedure procedure);
+
+ /**
+ * @see ReadGraph#getResourceByURI(String)
+ */
+ void forResource(String id, AsyncListener procedure);
+ /**
+ * @see ReadGraph#getResourceByURI(String)
+ */
+ void forResource(String id, SyncListener procedure);
+ /**
+ * @see ReadGraph#getResourceByURI(String)
+ */
+ void forResource(String id, Listener procedure);
+ /**
+ * @see ReadGraph#getResourceByURI(String)
+ */
+ void forResource(String id, AsyncProcedure procedure);
+ /**
+ * @see ReadGraph#getResourceByURI(String)
+ */
+ void forResource(String id, SyncProcedure procedure);
+ /**
+ * @see ReadGraph#getResourceByURI(String)
+ */
+ void forResource(String id, Procedure procedure);
+
+ /**
+ * @see ReadGraph#getBuiltin(String)
+ */
+ void forBuiltin(String id, AsyncListener procedure);
+ /**
+ * @see ReadGraph#getBuiltin(String)
+ */
+ void forBuiltin(String id, SyncListener procedure);
+ /**
+ * @see ReadGraph#getBuiltin(String)
+ */
+ void forBuiltin(String id, Listener procedure);
+ /**
+ * @see ReadGraph#getBuiltin(String)
+ */
+ void forBuiltin(String id, AsyncProcedure procedure);
+ /**
+ * @see ReadGraph#getBuiltin(String)
+ */
+ void forBuiltin(String id, SyncProcedure procedure);
+ /**
+ * @see ReadGraph#getBuiltin(String)
+ */
+ void forBuiltin(String id, Procedure procedure);
+
+ /**
+ * @see ReadGraph#getStatements(Resource, Resource)
+ */
+ void forEachStatement(Resource subject, Resource relation, AsyncMultiProcedure procedure);
+ /**
+ * @see ReadGraph#getStatements(Resource, Resource)
+ */
+ void forEachStatement(Resource subject, Resource relation, SyncMultiProcedure procedure);
+ /**
+ * @see ReadGraph#getStatements(Resource, Resource)
+ */
+ void forEachStatement(Resource subject, Resource relation, MultiProcedure procedure);
+
+ /**
+ * @see ReadGraph#getStatements(Resource, Resource)
+ */
+ void forStatementSet(Resource subject, Resource relation, AsyncSetListener procedure);
+ /**
+ * @see ReadGraph#getStatements(Resource, Resource)
+ */
+ void forStatementSet(Resource subject, Resource relation, SyncSetListener procedure);
+ /**
+ * @see ReadGraph#getStatements(Resource, Resource)
+ */
+ void forStatementSet(Resource subject, Resource relation, SetListener procedure);
+
+ /**
+ * @see ReadGraph#getAssertedStatements(Resource, Resource)
+ */
+ void forEachAssertedStatement(Resource subject, Resource relation, AsyncMultiProcedure procedure);
+ /**
+ * @see ReadGraph#getAssertedStatements(Resource, Resource)
+ */
+ void forEachAssertedStatement(Resource subject, Resource relation, SyncMultiProcedure procedure);
+ /**
+ * @see ReadGraph#getAssertedStatements(Resource, Resource)
+ */
+ void forEachAssertedStatement(Resource subject, Resource relation, MultiProcedure procedure);
+
+ /**
+ * @see ReadGraph#getAssertedStatements(Resource, Resource)
+ */
+ void forAssertedStatementSet(Resource subject, Resource relation, AsyncSetListener procedure);
+ /**
+ * @see ReadGraph#getAssertedStatements(Resource, Resource)
+ */
+ void forAssertedStatementSet(Resource subject, Resource relation, SyncSetListener procedure);
+ /**
+ * @see ReadGraph#getAssertedStatements(Resource, Resource)
+ */
+ void forAssertedStatementSet(Resource subject, Resource relation, SetListener procedure);
+
+ /**
+ * @see ReadGraph#getPredicates(Resource)
+ */
+ void forEachPredicate(Resource subject, AsyncMultiProcedure procedure);
+ /**
+ * @see ReadGraph#getPredicates(Resource)
+ */
+ void forEachPredicate(Resource subject, SyncMultiProcedure procedure);
+ /**
+ * @see ReadGraph#getPredicates(Resource)
+ */
+ void forEachPredicate(Resource subject, MultiProcedure procedure);
+
+ /**
+ * @see ReadGraph#getPredicates(Resource)
+ */
+ void forPredicateSet(Resource subject, AsyncSetListener procedure);
+ /**
+ * @see ReadGraph#getPredicates(Resource)
+ */
+ void forPredicateSet(Resource subject, SyncSetListener procedure);
+ /**
+ * @see ReadGraph#getPredicates(Resource)
+ */
+ void forPredicateSet(Resource subject, SetListener procedure);
+
+ /**
+ * @see ReadGraph#getPrincipalTypes(Resource)
+ */
+ void forEachPrincipalType(Resource subject, AsyncMultiProcedure procedure);
+ /**
+ * @see ReadGraph#getPrincipalTypes(Resource)
+ */
+ void forEachPrincipalType(Resource subject, SyncMultiProcedure procedure);
+ /**
+ * @see ReadGraph#getPrincipalTypes(Resource)
+ */
+ void forEachPrincipalType(Resource subject, MultiProcedure procedure);
+
+ /**
+ * @see ReadGraph#getPrincipalTypes(Resource)
+ */
+ void forPrincipalTypeSet(Resource subject, AsyncSetListener procedure);
+ /**
+ * @see ReadGraph#getPrincipalTypes(Resource)
+ */
+ void forPrincipalTypeSet(Resource subject, SyncSetListener procedure);
+ /**
+ * @see ReadGraph#getPrincipalTypes(Resource)
+ */
+ void forPrincipalTypeSet(Resource subject, SetListener procedure);
+
+ /**
+ * @see ReadGraph#getTypes(Resource)
+ */
+ void forTypes(Resource subject, AsyncListener> procedure);
+ /**
+ * @see ReadGraph#getTypes(Resource)
+ */
+ void forTypes(Resource subject, SyncListener> procedure);
+ /**
+ * @see ReadGraph#getTypes(Resource)
+ */
+ void forTypes(Resource subject, Listener> procedure);
+ /**
+ * @see ReadGraph#getTypes(Resource)
+ */
+ void forTypes(Resource subject, AsyncProcedure> procedure);
+ /**
+ * @see ReadGraph#getTypes(Resource)
+ */
+ void forTypes(Resource subject, SyncProcedure> procedure);
+ /**
+ * @see ReadGraph#getTypes(Resource)
+ */
+ void forTypes(Resource subject, Procedure> procedure);
+
+ /**
+ * @see ReadGraph#getSupertypes(Resource)
+ */
+ void forSupertypes(Resource subject, AsyncListener> procedure);
+ /**
+ * @see ReadGraph#getSupertypes(Resource)
+ */
+ void forSupertypes(Resource subject, SyncListener> procedure);
+ /**
+ * @see ReadGraph#getSupertypes(Resource)
+ */
+ void forSupertypes(Resource subject, Listener> procedure);
+ /**
+ * @see ReadGraph#getSupertypes(Resource)
+ */
+ void forSupertypes(Resource subject, AsyncProcedure> procedure);
+ /**
+ * @see ReadGraph#getSupertypes(Resource)
+ */
+ void forSupertypes(Resource subject, SyncProcedure> procedure);
+ /**
+ * @see ReadGraph#getSupertypes(Resource)
+ */
+ void forSupertypes(Resource subject, Procedure> procedure);
+
+ /**
+ * @see ReadGraph#getSuperrelations(Resource)
+ */
+ void forDirectSuperrelations(Resource subject, AsyncMultiProcedure procedure);
+
+ /**
+ * @see ReadGraph#getSuperrelations(Resource)
+ */
+ void forPossibleSuperrelation(Resource subject, AsyncProcedure procedure);
+
+ /**
+ * @see ReadGraph#getSuperrelations(Resource)
+ */
+ void forSuperrelations(Resource subject, AsyncListener> procedure);
+ /**
+ * @see ReadGraph#getSuperrelations(Resource)
+ */
+ void forSuperrelations(Resource subject, SyncListener> procedure);
+ /**
+ * @see ReadGraph#getSuperrelations(Resource)
+ */
+ void forSuperrelations(Resource subject, Listener> procedure);
+ /**
+ * @see ReadGraph#getSuperrelations(Resource)
+ */
+ void forSuperrelations(Resource subject, AsyncProcedure> procedure);
+ /**
+ * @see ReadGraph#getSuperrelations(Resource)
+ */
+ void forSuperrelations(Resource subject, SyncProcedure> procedure);
+ /**
+ * @see ReadGraph#getSuperrelations(Resource)
+ */
+ void forSuperrelations(Resource subject, Procedure> procedure);
+
+ /**
+ *
+ * If relation is functional this do one of the following
+ * -call execute 0 or 1 times and then call finished
+ * -call exception with ManyObjectsForFunctionalRelation
+ *
+ * @see ReadGraph#getObjects(Resource, Resource)
+ */
+ void forEachObject(Resource subject, Resource relation, AsyncMultiProcedure procedure);
+ /**
+ * @see ReadGraph#getObjects(Resource, Resource)
+ */
+ void forEachObject(Resource subject, Resource relation, SyncMultiProcedure procedure);
+ /**
+ * @see ReadGraph#getObjects(Resource, Resource)
+ */
+ void forEachObject(Resource subject, Resource relation, MultiProcedure procedure);
+
+ /**
+ * @see ReadGraph#getObjects(Resource, Resource)
+ */
+// void forEachDirectObject(Resource subject, Resource relation, AsyncMultiProcedure procedure);
+// /**
+// * @see ReadGraph#getObjects(Resource, Resource)
+// */
+// void forEachDirectObject(Resource subject, Resource relation, SyncMultiProcedure procedure);
+// /**
+// * @see ReadGraph#getObjects(Resource, Resource)
+// */
+// void forEachDirectObject(Resource subject, Resource relation, MultiProcedure procedure);
+
+ /**
+ * @see ReadGraph#getObjects(Resource, Resource)
+ */
+ void forEachDirectPredicate(Resource subject, AsyncMultiProcedure procedure);
+ /**
+ * @see ReadGraph#getObjects(Resource, Resource)
+ */
+ void forEachDirectPredicate(Resource subject, SyncMultiProcedure procedure);
+ /**
+ * @see ReadGraph#getObjects(Resource, Resource)
+ */
+ void forEachDirectPredicate(Resource subject, MultiProcedure procedure);
+
+ /**
+ * @see ReadGraph#getObjects(Resource, Resource)
+ */
+ void forObjectSet(Resource subject, Resource relation, AsyncSetListener procedure);
+ /**
+ * @see ReadGraph#getObjects(Resource, Resource)
+ */
+ void forObjectSet(Resource subject, Resource relation, SyncSetListener procedure);
+ /**
+ * @see ReadGraph#getObjects(Resource, Resource)
+ */
+ void forObjectSet(Resource subject, Resource relation, SetListener procedure);
+
+ /**
+ * @see ReadGraph#getAssertedObjects(Resource, Resource)
+ */
+ void forEachAssertedObject(Resource subject, Resource relation, AsyncMultiProcedure procedure);
+ /**
+ * @see ReadGraph#getAssertedObjects(Resource, Resource)
+ */
+ void forEachAssertedObject(Resource subject, Resource relation, SyncMultiProcedure procedure);
+ /**
+ * @see ReadGraph#getAssertedObjects(Resource, Resource)
+ */
+ void forEachAssertedObject(Resource subject, Resource relation, MultiProcedure procedure);
+
+ /**
+ * @see ReadGraph#getAssertedObjects(Resource, Resource)
+ */
+ void forAssertedObjectSet(Resource subject, Resource relation, AsyncSetListener procedure);
+ /**
+ * @see ReadGraph#getAssertedObjects(Resource, Resource)
+ */
+ void forAssertedObjectSet(Resource subject, Resource relation, SyncSetListener procedure);
+ /**
+ * @see ReadGraph#getAssertedObjects(Resource, Resource)
+ */
+ void forAssertedObjectSet(Resource subject, Resource relation, SetListener procedure);
+
+ /**
+ * @see ReadGraph#getInverse(Resource)
+ */
+ void forInverse(Resource relation, AsyncListener procedure);
+ /**
+ * @see ReadGraph#getInverse(Resource)
+ */
+ void forInverse(Resource relation, SyncListener procedure);
+ /**
+ * @see ReadGraph#getInverse(Resource)
+ */
+ void forInverse(Resource relation, Listener procedure);
+ /**
+ * @see ReadGraph#getInverse(Resource)
+ */
+ void forInverse(Resource relation, AsyncProcedure procedure);
+ /**
+ * @see ReadGraph#getInverse(Resource)
+ */
+ void forInverse(Resource relation, SyncProcedure procedure);
+ /**
+ * @see ReadGraph#getInverse(Resource)
+ */
+ void forInverse(Resource relation, Procedure procedure);
+
+ /**
+ * @see ReadGraph#getSingleObject(Resource, Resource)
+ */
+ void forSingleObject(Resource subject, Resource relation, AsyncListener procedure);
+ /**
+ * @see ReadGraph#getSingleObject(Resource, Resource)
+ */
+ void forSingleObject(Resource subject, Resource relation, SyncListener procedure);
+ /**
+ * @see ReadGraph#getSingleObject(Resource, Resource)
+ */
+ void forSingleObject(Resource subject, Resource relation, Listener procedure);
+ /**
+ * @see ReadGraph#getSingleObject(Resource, Resource)
+ */
+ void forSingleObject(Resource subject, Resource relation, AsyncProcedure procedure);
+ /**
+ * @see ReadGraph#getSingleObject(Resource, Resource)
+ */
+ void forSingleObject(Resource subject, Resource relation, SyncProcedure procedure);
+ /**
+ * @see ReadGraph#getSingleObject(Resource, Resource)
+ */
+ void forSingleObject(Resource subject, Resource relation, Procedure procedure);
+
+ /**
+ * @see ReadGraph#getSingleStatement(Resource, Resource)
+ */
+ void forSingleStatement(Resource subject, Resource relation, AsyncListener procedure);
+ /**
+ * @see ReadGraph#getSingleStatement(Resource, Resource)
+ */
+ void forSingleStatement(Resource subject, Resource relation, SyncListener procedure);
+ /**
+ * @see ReadGraph#getSingleStatement(Resource, Resource)
+ */
+ void forSingleStatement(Resource subject, Resource relation, Listener procedure);
+ /**
+ * @see ReadGraph#getSingleStatement(Resource, Resource)
+ */
+ void forSingleStatement(Resource subject, Resource relation, AsyncProcedure procedure);
+ /**
+ * @see ReadGraph#getSingleStatement(Resource, Resource)
+ */
+ void forSingleStatement(Resource subject, Resource relation, SyncProcedure procedure);
+ /**
+ * @see ReadGraph#getSingleStatement(Resource, Resource)
+ */
+ void forSingleStatement(Resource subject, Resource relation, Procedure procedure);
+
+ /**
+ * @see ReadGraph#getSingleType(Resource, Resource)
+ */
+ void forSingleType(Resource subject, AsyncListener procedure);
+ /**
+ * @see ReadGraph#getSingleType(Resource, Resource)
+ */
+ void forSingleType(Resource subject, SyncListener procedure);
+ /**
+ * @see ReadGraph#getSingleType(Resource, Resource)
+ */
+ void forSingleType(Resource subject, Listener procedure);
+ /**
+ * @see ReadGraph#getSingleType(Resource, Resource)
+ */
+ void forSingleType(Resource subject, AsyncProcedure procedure);
+ /**
+ * @see ReadGraph#getSingleType(Resource, Resource)
+ */
+ void forSingleType(Resource subject, SyncProcedure procedure);
+ /**
+ * @see ReadGraph#getSingleType(Resource, Resource)
+ */
+ void forSingleType(Resource subject, Procedure procedure);
+
+ /**
+ * @see ReadGraph#getSingleType(Resource, Resource)
+ */
+ void forSingleType(Resource subject, Resource baseType, AsyncListener procedure);
+ /**
+ * @see ReadGraph#getSingleType(Resource, Resource)
+ */
+ void forSingleType(Resource subject, Resource baseType, SyncListener procedure);
+ /**
+ * @see ReadGraph#getSingleType(Resource, Resource)
+ */
+ void forSingleType(Resource subject, Resource baseType, Listener procedure);
+ /**
+ * @see ReadGraph#getSingleType(Resource, Resource)
+ */
+ void forSingleType(Resource subject, Resource baseType, AsyncProcedure procedure);
+ /**
+ * @see ReadGraph#getSingleType(Resource, Resource)
+ */
+ void forSingleType(Resource subject, Resource baseType, SyncProcedure procedure);
+ /**
+ * @see ReadGraph#getSingleType(Resource, Resource)
+ */
+ void forSingleType(Resource subject, Resource baseType, Procedure procedure);
+
+ /**
+ * @see ReadGraph#getValue(Resource)
+ */
+ void forValue(Resource subject, AsyncListener procedure);
+ /**
+ * @see ReadGraph#getValue(Resource)
+ */
+ void forValue(Resource subject, SyncListener procedure);
+ /**
+ * @see ReadGraph#getValue(Resource)
+ */
+ void forValue(Resource subject, Listener procedure);
+ /**
+ * @see ReadGraph#getValue(Resource)
+ */
+ void forValue(Resource subject, AsyncProcedure procedure);
+ /**
+ * @see ReadGraph#getValue(Resource)
+ */
+ void forValue(Resource subject, SyncProcedure procedure);
+ /**
+ * @see ReadGraph#getValue(Resource)
+ */
+ void forValue(Resource subject, Procedure procedure);
+
+ /**
+ * @see ReadGraph#getValue(Resource)
+ */
+ void forValue(Resource subject, Binding binding, AsyncListener procedure);
+ /**
+ * @see ReadGraph#getValue(Resource)
+ */
+ void forValue(Resource subject, Binding binding, SyncListener procedure);
+ /**
+ * @see ReadGraph#getValue(Resource)
+ */
+ void forValue(Resource subject, Binding binding, Listener procedure);
+ /**
+ * @see ReadGraph#getValue(Resource)
+ */
+ void forValue(Resource subject, Binding binding, AsyncProcedure procedure);
+ /**
+ * @see ReadGraph#getValue(Resource)
+ */
+ void forValue(Resource subject, Binding binding, SyncProcedure procedure);
+ /**
+ * @see ReadGraph#getValue(Resource)
+ */
+ void forValue(Resource subject, Binding binding, Procedure procedure);
+
+ /**
+ * @see ReadGraph#getRelatedValue(Resource, Resource)
+ */
+ void forRelatedValue(Resource subject, Resource relation, AsyncListener procedure);
+ /**
+ * @see ReadGraph#getRelatedValue(Resource, Resource)
+ */
+ void forRelatedValue(Resource subject, Resource relation, SyncListener procedure);
+ /**
+ * @see ReadGraph#getRelatedValue(Resource, Resource)
+ */
+ void forRelatedValue(Resource subject, Resource relation, Listener procedure);
+ /**
+ * @see ReadGraph#getRelatedValue(Resource, Resource)
+ */
+ void forRelatedValue(Resource subject, Resource relation, AsyncProcedure procedure);
+ /**
+ * @see ReadGraph#getRelatedValue(Resource, Resource)
+ */
+ void forRelatedValue(Resource subject, Resource relation, SyncProcedure procedure);
+ /**
+ * @see ReadGraph#getRelatedValue(Resource, Resource)
+ */
+ void forRelatedValue(Resource subject, Resource relation, Procedure procedure);
+
+ /**
+ * @see ReadGraph#getRelatedValue(Resource, Resource, Binding)
+ */
+ void forRelatedValue(Resource subject, Resource relation, Binding binding, AsyncListener procedure);
+ /**
+ * @see ReadGraph#getRelatedValue(Resource, Resource, Binding)
+ */
+ void forRelatedValue(Resource subject, Resource relation, Binding binding, SyncListener procedure);
+ /**
+ * @see ReadGraph#getRelatedValue(Resource, Resource, Binding)
+ */
+ void forRelatedValue(Resource subject, Resource relation, Binding binding, Listener procedure);
+ /**
+ * @see ReadGraph#getRelatedValue(Resource, Resource, Binding)
+ */
+ void forRelatedValue(Resource subject, Resource relation, Binding binding, AsyncProcedure procedure);
+ /**
+ * @see ReadGraph#getRelatedValue(Resource, Resource, Binding)
+ */
+ void forRelatedValue(Resource subject, Resource relation, Binding binding, SyncProcedure procedure);
+ /**
+ * @see ReadGraph#getRelatedValue(Resource, Resource, Binding)
+ */
+ void forRelatedValue(Resource subject, Resource relation, Binding binding, Procedure procedure);
+
+ /**
+ * @see ReadGraph#adapt(Resource, Class)
+ */
+ void forAdapted(Resource resource, Class clazz, AsyncListener procedure);
+ /**
+ * @see ReadGraph#adapt(Resource, Class)
+ */
+ void forAdapted(Resource resource, Class clazz, SyncListener procedure);
+ /**
+ * @see ReadGraph#adapt(Resource, Class)
+ */
+ void forAdapted(Resource resource, Class clazz, Listener procedure);
+ /**
+ * @see ReadGraph#adapt(Resource, Class)
+ */
+ void forAdapted(Resource resource, Class clazz, AsyncProcedure procedure);
+ /**
+ * @see ReadGraph#adapt(Resource, Class)
+ */
+ void forAdapted(Resource resource, Class clazz, SyncProcedure procedure);
+ /**
+ * @see ReadGraph#adapt(Resource, Class)
+ */
+ void forAdapted(Resource resource, Class clazz, Procedure procedure);
+
+ /**
+ * @see ReadGraph#adapt(Resource, Class)
+ */
+ void forUniqueAdapted(Resource resource, Class clazz, AsyncListener procedure);
+ /**
+ * @see ReadGraph#adapt(Resource, Class)
+ */
+ void forUniqueAdapted(Resource resource, Class clazz, SyncListener procedure);
+ /**
+ * @see ReadGraph#adapt(Resource, Class)
+ */
+ void forUniqueAdapted(Resource resource, Class clazz, Listener procedure);
+ /**
+ * @see ReadGraph#adapt(Resource, Class)
+ */
+ void forUniqueAdapted(Resource resource, Class clazz, AsyncProcedure procedure);
+ /**
+ * @see ReadGraph#adapt(Resource, Class)
+ */
+ void forUniqueAdapted(Resource resource, Class clazz, SyncProcedure procedure);
+ /**
+ * @see ReadGraph#adapt(Resource, Class)
+ */
+ void forUniqueAdapted(Resource resource, Class clazz, Procedure procedure);
+
+ /**
+ * @see ReadGraph#getPossibleInverse(Resource)
+ */
+ void forPossibleInverse(Resource relation, AsyncListener procedure);
+ /**
+ * @see ReadGraph#getPossibleInverse(Resource)
+ */
+ void forPossibleInverse(Resource relation, SyncListener procedure);
+ /**
+ * @see ReadGraph#getPossibleInverse(Resource)
+ */
+ void forPossibleInverse(Resource relation, Listener procedure);
+ /**
+ * @see ReadGraph#getPossibleInverse(Resource)
+ */
+ void forPossibleInverse(Resource relation, AsyncProcedure procedure);
+ /**
+ * @see ReadGraph#getPossibleInverse(Resource)
+ */
+ void forPossibleInverse(Resource relation, SyncProcedure procedure);
+ /**
+ * @see ReadGraph#getPossibleInverse(Resource)
+ */
+ void forPossibleInverse(Resource relation, Procedure procedure);
+
+ /**
+ * @see ReadGraph#getPossibleObject(Resource, Resource)
+ */
+ void forPossibleObject(Resource subject, Resource relation, AsyncListener procedure);
+ /**
+ * @see ReadGraph#getPossibleObject(Resource, Resource)
+ */
+ void forPossibleObject(Resource subject, Resource relation, SyncListener procedure);
+ /**
+ * @see ReadGraph#getPossibleObject(Resource, Resource)
+ */
+ void forPossibleObject(Resource subject, Resource relation, Listener procedure);
+ /**
+ * @see ReadGraph#getPossibleObject(Resource, Resource)
+ */
+ void forPossibleObject(Resource subject, Resource relation, AsyncProcedure procedure);
+ /**
+ * @see ReadGraph#getPossibleObject(Resource, Resource)
+ */
+ void forPossibleObject(Resource subject, Resource relation, SyncProcedure procedure);
+ /**
+ * @see ReadGraph#getPossibleObject(Resource, Resource)
+ */
+ void forPossibleObject(Resource subject, Resource relation, Procedure procedure);
+
+ /**
+ * @see ReadGraph#getPossibleStatement(Resource, Resource)
+ */
+ void forPossibleStatement(Resource subject, Resource relation, AsyncListener procedure);
+ /**
+ * @see ReadGraph#getPossibleStatement(Resource, Resource)
+ */
+ void forPossibleStatement(Resource subject, Resource relation, SyncListener procedure);
+ /**
+ * @see ReadGraph#getPossibleStatement(Resource, Resource)
+ */
+ void forPossibleStatement(Resource subject, Resource relation, Listener procedure);
+ /**
+ * @see ReadGraph#getPossibleStatement(Resource, Resource)
+ */
+ void forPossibleStatement(Resource subject, Resource relation, AsyncProcedure procedure);
+ /**
+ * @see ReadGraph#getPossibleStatement(Resource, Resource)
+ */
+ void forPossibleStatement(Resource subject, Resource relation, SyncProcedure procedure);
+ /**
+ * @see ReadGraph#getPossibleStatement(Resource, Resource)
+ */
+ void forPossibleStatement(Resource subject, Resource relation, Procedure procedure);
+
+ /**
+ * @see ReadGraph#getPossibleType(Resource, Resource)
+ */
+ void forPossibleType(Resource subject, Resource baseType, AsyncListener procedure);
+ /**
+ * @see ReadGraph#getPossibleType(Resource, Resource)
+ */
+ void forPossibleType(Resource subject, Resource baseType, SyncListener procedure);
+ /**
+ * @see ReadGraph#getPossibleType(Resource, Resource)
+ */
+ void forPossibleType(Resource subject, Resource baseType, Listener procedure);
+ /**
+ * @see ReadGraph#getPossibleType(Resource, Resource)
+ */
+ void forPossibleType(Resource subject, Resource baseType, AsyncProcedure procedure);
+ /**
+ * @see ReadGraph#getPossibleType(Resource, Resource)
+ */
+ void forPossibleType(Resource subject, Resource baseType, SyncProcedure procedure);
+ /**
+ * @see ReadGraph#getPossibleType(Resource, Resource)
+ */
+ void forPossibleType(Resource subject, Resource baseType, Procedure procedure);
+
+ /**
+ * @see ReadGraph#getPossibleValue(Resource)
+ */
+ void forPossibleValue(Resource subject, AsyncListener procedure);
+ /**
+ * @see ReadGraph#getPossibleValue(Resource)
+ */
+ void forPossibleValue(Resource subject, SyncListener procedure);
+ /**
+ * @see ReadGraph#getPossibleValue(Resource)
+ */
+ void forPossibleValue(Resource subject, Listener procedure);
+ /**
+ * @see ReadGraph#getPossibleValue(Resource)
+ */
+ void forPossibleValue(Resource subject, AsyncProcedure procedure);
+ /**
+ * @see ReadGraph#getPossibleValue(Resource)
+ */
+ void forPossibleValue(Resource subject, SyncProcedure procedure);
+ /**
+ * @see ReadGraph#getPossibleValue(Resource)
+ */
+ void forPossibleValue(Resource subject, Procedure procedure);
+
+ /**
+ * @see ReadGraph#getPossibleValue(Resource, Binding)
+ */
+ void forPossibleValue(Resource subject, Binding binding, AsyncListener procedure);
+ /**
+ * @see ReadGraph#getPossibleValue(Resource, Binding)
+ */
+ void forPossibleValue(Resource subject, Binding binding, SyncListener procedure);
+ /**
+ * @see ReadGraph#getPossibleValue(Resource, Binding)
+ */
+ void forPossibleValue(Resource subject, Binding binding, Listener procedure);
+ /**
+ * @see ReadGraph#getPossibleValue(Resource, Binding)
+ */
+ void forPossibleValue(Resource subject, Binding binding, AsyncProcedure procedure);
+ /**
+ * @see ReadGraph#getPossibleValue(Resource, Binding)
+ */
+ void forPossibleValue(Resource subject, Binding binding, SyncProcedure procedure);
+ /**
+ * @see ReadGraph#getPossibleValue(Resource, Binding)
+ */
+ void forPossibleValue(Resource subject, Binding binding, Procedure procedure);
+
+ /**
+ * @see ReadGraph#getPossibleRelatedValue(Resource, Resource)
+ */
+ void forPossibleRelatedValue(Resource subject, Resource relation, AsyncListener procedure);
+ /**
+ * @see ReadGraph#getPossibleRelatedValue(Resource, Resource)
+ */
+ void forPossibleRelatedValue(Resource subject, Resource relation, SyncListener procedure);
+ /**
+ * @see ReadGraph#getPossibleRelatedValue(Resource, Resource)
+ */
+ void forPossibleRelatedValue(Resource subject, Resource relation, Listener procedure);
+ /**
+ * @see ReadGraph#getPossibleRelatedValue(Resource, Resource)
+ */
+ void forPossibleRelatedValue(Resource subject, Resource relation, AsyncProcedure procedure);
+ /**
+ * @see ReadGraph#getPossibleRelatedValue(Resource, Resource)
+ */
+ void forPossibleRelatedValue(Resource subject, Resource relation, SyncProcedure procedure);
+ /**
+ * @see ReadGraph#getPossibleRelatedValue(Resource, Resource)
+ */
+