X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.db%2Fsrc%2Forg%2Fsimantics%2Fdb%2FAsyncReadGraph.java;h=088c10daa645c05b832ae4d6d0a1ffc895352f14;hb=93e70f713558f9826b78ad54929f80e52d8c824b;hp=ab4314247578b46e2ce247ad4ec318d1ac2592d9;hpb=969bd23cab98a79ca9101af33334000879fb60c5;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 index ab4314247..088c10daa 100644 --- a/bundles/org.simantics.db/src/org/simantics/db/AsyncReadGraph.java +++ b/bundles/org.simantics.db/src/org/simantics/db/AsyncReadGraph.java @@ -1,1138 +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) - */ - void forPossibleRelatedValue(Resource subject, Resource relation, Procedure procedure); - - /** - * @see ReadGraph#getPossibleRelatedValue(Resource, Resource, Binding) - */ - void forPossibleRelatedValue(Resource subject, Resource relation, Binding binding, AsyncListener procedure); - /** - * @see ReadGraph#getPossibleRelatedValue(Resource, Resource, Binding) - */ - void forPossibleRelatedValue(Resource subject, Resource relation, Binding binding, SyncListener procedure); - /** - * @see ReadGraph#getPossibleRelatedValue(Resource, Resource, Binding) - */ - void forPossibleRelatedValue(Resource subject, Resource relation, Binding binding, Listener procedure); - /** - * @see ReadGraph#getPossibleRelatedValue(Resource, Resource, Binding) - */ - void forPossibleRelatedValue(Resource subject, Resource relation, Binding binding, AsyncProcedure procedure); - /** - * @see ReadGraph#getPossibleRelatedValue(Resource, Resource, Binding) - */ - void forPossibleRelatedValue(Resource subject, Resource relation, Binding binding, SyncProcedure procedure); - /** - * @see ReadGraph#getPossibleRelatedValue(Resource, Resource, Binding) - */ - void forPossibleRelatedValue(Resource subject, Resource relation, Binding binding, Procedure procedure); - - /** - * @see ReadGraph#getPossibleAdapter(Resource, Class) - */ - void forPossibleAdapted(Resource resource, Class clazz, AsyncListener procedure); - /** - * @see ReadGraph#getPossibleAdapter(Resource, Class) - */ - void forPossibleAdapted(Resource resource, Class clazz, SyncListener procedure); - /** - * @see ReadGraph#getPossibleAdapter(Resource, Class) - */ - void forPossibleAdapted(Resource resource, Class clazz, Listener procedure); - /** - * @see ReadGraph#getPossibleAdapter(Resource, Class) - */ - void forPossibleAdapted(Resource resource, Class clazz, AsyncProcedure procedure); - /** - * @see ReadGraph#getPossibleAdapter(Resource, Class) - */ - void forPossibleAdapted(Resource resource, Class clazz, SyncProcedure procedure); - /** - * @see ReadGraph#getPossibleAdapter(Resource, Class) - */ - void forPossibleAdapted(Resource resource, Class clazz, Procedure procedure); - - /** - * @see ReadGraph#getPossibleAdapter(Resource, Class) - */ - void forPossibleUniqueAdapted(Resource resource, Class clazz, AsyncListener procedure); - /** - * @see ReadGraph#getPossibleAdapter(Resource, Class) - */ - void forPossibleUniqueAdapted(Resource resource, Class clazz, SyncListener procedure); - /** - * @see ReadGraph#getPossibleAdapter(Resource, Class) - */ - void forPossibleUniqueAdapted(Resource resource, Class clazz, Listener procedure); - /** - * @see ReadGraph#getPossibleAdapter(Resource, Class) - */ - void forPossibleUniqueAdapted(Resource resource, Class clazz, AsyncProcedure procedure); - /** - * @see ReadGraph#getPossibleAdapter(Resource, Class) - */ - void forPossibleUniqueAdapted(Resource resource, Class clazz, SyncProcedure procedure); - /** - * @see ReadGraph#getPossibleAdapter(Resource, Class) - */ - void forPossibleUniqueAdapted(Resource resource, Class clazz, Procedure procedure); - - /** - * @see ReadGraph#isInstanceOf(Resource, Resource) - */ - void forIsInstanceOf(Resource resource, Resource type, AsyncListener procedure); - /** - * @see ReadGraph#isInstanceOf(Resource, Resource) - */ - void forIsInstanceOf(Resource resource, Resource type, SyncListener procedure); - /** - * @see ReadGraph#isInstanceOf(Resource, Resource) - */ - void forIsInstanceOf(Resource resource, Resource type, Listener procedure); - /** - * @see ReadGraph#isInstanceOf(Resource, Resource) - */ - void forIsInstanceOf(Resource resource, Resource type, AsyncProcedure procedure); - /** - * @see ReadGraph#isInstanceOf(Resource, Resource) - */ - void forIsInstanceOf(Resource resource, Resource type, SyncProcedure procedure); - /** - * @see ReadGraph#isInstanceOf(Resource, Resource) - */ - void forIsInstanceOf(Resource resource, Resource type, Procedure procedure); - - /** - * @see ReadGraph#isInheritedFrom(Resource, Resource) - */ - void forIsInheritedFrom(Resource resource, Resource type, AsyncListener procedure); - /** - * @see ReadGraph#isInheritedFrom(Resource, Resource) - */ - void forIsInheritedFrom(Resource resource, Resource type, SyncListener procedure); - /** - * @see ReadGraph#isInheritedFrom(Resource, Resource) - */ - void forIsInheritedFrom(Resource resource, Resource type, Listener procedure); - /** - * @see ReadGraph#isInheritedFrom(Resource, Resource) - */ - void forIsInheritedFrom(Resource resource, Resource type, AsyncProcedure procedure); - /** - * @see ReadGraph#isInheritedFrom(Resource, Resource) - */ - void forIsInheritedFrom(Resource resource, Resource type, SyncProcedure procedure); - /** - * @see ReadGraph#isInheritedFrom(Resource, Resource) - */ - void forIsInheritedFrom(Resource resource, Resource type, Procedure procedure); - - /** - * @see ReadGraph#isSubrelationOf(Resource, Resource) - */ - void forIsSubrelationOf(Resource resource, Resource relation, AsyncListener procedure); - /** - * @see ReadGraph#isSubrelationOf(Resource, Resource) - */ - void forIsSubrelationOf(Resource resource, Resource relation, SyncListener procedure); - /** - * @see ReadGraph#isSubrelationOf(Resource, Resource) - */ - void forIsSubrelationOf(Resource resource, Resource relation, Listener procedure); - /** - * @see ReadGraph#isSubrelationOf(Resource, Resource) - */ - void forIsSubrelationOf(Resource resource, Resource relation, AsyncProcedure procedure); - /** - * @see ReadGraph#isSubrelationOf(Resource, Resource) - */ - void forIsSubrelationOf(Resource resource, Resource relation, SyncProcedure procedure); - /** - * @see ReadGraph#isSubrelationOf(Resource, Resource) - */ - void forIsSubrelationOf(Resource resource, Resource relation, Procedure procedure); - - /** - * @see ReadGraph#hasStatement(Resource) - */ - void forHasStatement(Resource subject, AsyncListener procedure); - /** - * @see ReadGraph#hasStatement(Resource) - */ - void forHasStatement(Resource subject, SyncListener procedure); - /** - * @see ReadGraph#hasStatement(Resource) - */ - void forHasStatement(Resource subject, Listener procedure); - /** - * @see ReadGraph#hasStatement(Resource) - */ - void forHasStatement(Resource subject, AsyncProcedure procedure); - /** - * @see ReadGraph#hasStatement(Resource) - */ - void forHasStatement(Resource subject, SyncProcedure procedure); - /** - * @see ReadGraph#hasStatement(Resource) - */ - void forHasStatement(Resource subject, Procedure procedure); - - /** - * @see ReadGraph#hasStatement(Resource, Resource) - */ - void forHasStatement(Resource subject, Resource relation, AsyncListener procedure); - /** - * @see ReadGraph#hasStatement(Resource, Resource) - */ - void forHasStatement(Resource subject, Resource relation, SyncListener procedure); - /** - * @see ReadGraph#hasStatement(Resource, Resource) - */ - void forHasStatement(Resource subject, Resource relation, Listener procedure); - /** - * @see ReadGraph#hasStatement(Resource, Resource) - */ - void forHasStatement(Resource subject, Resource relation, AsyncProcedure procedure); - /** - * @see ReadGraph#hasStatement(Resource, Resource) - */ - void forHasStatement(Resource subject, Resource relation, SyncProcedure procedure); - /** - * @see ReadGraph#hasStatement(Resource, Resource) - */ - void forHasStatement(Resource subject, Resource relation, Procedure procedure); - - /** - * @see ReadGraph#hasStatement(Resource, Resource, Resource) - */ - void forHasStatement(Resource subject, Resource relation, Resource object, AsyncListener procedure); - /** - * @see ReadGraph#hasStatement(Resource, Resource, Resource) - */ - void forHasStatement(Resource subject, Resource relation, Resource object, SyncListener procedure); - /** - * @see ReadGraph#hasStatement(Resource, Resource, Resource) - */ - void forHasStatement(Resource subject, Resource relation, Resource object, Listener procedure); - /** - * @see ReadGraph#hasStatement(Resource, Resource, Resource) - */ - void forHasStatement(Resource subject, Resource relation, Resource object, AsyncProcedure procedure); - /** - * @see ReadGraph#hasStatement(Resource, Resource, Resource) - */ - void forHasStatement(Resource subject, Resource relation, Resource object, SyncProcedure procedure); - /** - * @see ReadGraph#hasStatement(Resource, Resource, Resource) - */ - void forHasStatement(Resource subject, Resource relation, Resource object, Procedure procedure); - - /** - * @see ReadGraph#hasValue(Resource) - */ - void forHasValue(Resource subject, AsyncListener procedure); - /** - * @see ReadGraph#hasValue(Resource) - */ - void forHasValue(Resource subject, SyncListener procedure); - /** - * @see ReadGraph#hasValue(Resource) - */ - void forHasValue(Resource subject, Listener procedure); - /** - * @see ReadGraph#hasValue(Resource) - */ - void forHasValue(Resource subject, AsyncProcedure procedure); - /** - * @see ReadGraph#hasValue(Resource) - */ - void forHasValue(Resource subject, SyncProcedure procedure); - /** - * @see ReadGraph#hasValue(Resource) - */ - void forHasValue(Resource subject, Procedure procedure); - - /** - * @see ReadGraph#getTypes(Resource) - */ - void forOrderedSet(Resource subject, AsyncMultiListener procedure); - /** - * @see ReadGraph#getTypes(Resource) - */ - void forOrderedSet(Resource subject, SyncMultiListener procedure); - /** - * @see ReadGraph#getTypes(Resource) - */ - void forOrderedSet(Resource subject, MultiListener procedure); - /** - * @see ReadGraph#getTypes(Resource) - */ - void forOrderedSet(Resource subject, AsyncMultiProcedure procedure); - /** - * @see ReadGraph#getTypes(Resource) - */ - void forOrderedSet(Resource subject, SyncMultiProcedure procedure); - /** - * @see ReadGraph#getTypes(Resource) - */ - void forOrderedSet(Resource subject, MultiProcedure procedure); - - int thread(); -// void inc(); -// void dec(); - - boolean isImmutable(Resource resource) throws DatabaseException; - -} +/******************************************************************************* + * 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) + */ + void forPossibleRelatedValue(Resource subject, Resource relation, Procedure procedure); + + /** + * @see ReadGraph#getPossibleRelatedValue(Resource, Resource, Binding) + */ + void forPossibleRelatedValue(Resource subject, Resource relation, Binding binding, AsyncListener procedure); + /** + * @see ReadGraph#getPossibleRelatedValue(Resource, Resource, Binding) + */ + void forPossibleRelatedValue(Resource subject, Resource relation, Binding binding, SyncListener procedure); + /** + * @see ReadGraph#getPossibleRelatedValue(Resource, Resource, Binding) + */ + void forPossibleRelatedValue(Resource subject, Resource relation, Binding binding, Listener procedure); + /** + * @see ReadGraph#getPossibleRelatedValue(Resource, Resource, Binding) + */ + void forPossibleRelatedValue(Resource subject, Resource relation, Binding binding, AsyncProcedure procedure); + /** + * @see ReadGraph#getPossibleRelatedValue(Resource, Resource, Binding) + */ + void forPossibleRelatedValue(Resource subject, Resource relation, Binding binding, SyncProcedure procedure); + /** + * @see ReadGraph#getPossibleRelatedValue(Resource, Resource, Binding) + */ + void forPossibleRelatedValue(Resource subject, Resource relation, Binding binding, Procedure procedure); + + /** + * @see ReadGraph#getPossibleAdapter(Resource, Class) + */ + void forPossibleAdapted(Resource resource, Class clazz, AsyncListener procedure); + /** + * @see ReadGraph#getPossibleAdapter(Resource, Class) + */ + void forPossibleAdapted(Resource resource, Class clazz, SyncListener procedure); + /** + * @see ReadGraph#getPossibleAdapter(Resource, Class) + */ + void forPossibleAdapted(Resource resource, Class clazz, Listener procedure); + /** + * @see ReadGraph#getPossibleAdapter(Resource, Class) + */ + void forPossibleAdapted(Resource resource, Class clazz, AsyncProcedure procedure); + /** + * @see ReadGraph#getPossibleAdapter(Resource, Class) + */ + void forPossibleAdapted(Resource resource, Class clazz, SyncProcedure procedure); + /** + * @see ReadGraph#getPossibleAdapter(Resource, Class) + */ + void forPossibleAdapted(Resource resource, Class clazz, Procedure procedure); + + /** + * @see ReadGraph#getPossibleAdapter(Resource, Class) + */ + void forPossibleUniqueAdapted(Resource resource, Class clazz, AsyncListener procedure); + /** + * @see ReadGraph#getPossibleAdapter(Resource, Class) + */ + void forPossibleUniqueAdapted(Resource resource, Class clazz, SyncListener procedure); + /** + * @see ReadGraph#getPossibleAdapter(Resource, Class) + */ + void forPossibleUniqueAdapted(Resource resource, Class clazz, Listener procedure); + /** + * @see ReadGraph#getPossibleAdapter(Resource, Class) + */ + void forPossibleUniqueAdapted(Resource resource, Class clazz, AsyncProcedure procedure); + /** + * @see ReadGraph#getPossibleAdapter(Resource, Class) + */ + void forPossibleUniqueAdapted(Resource resource, Class clazz, SyncProcedure procedure); + /** + * @see ReadGraph#getPossibleAdapter(Resource, Class) + */ + void forPossibleUniqueAdapted(Resource resource, Class clazz, Procedure procedure); + + /** + * @see ReadGraph#isInstanceOf(Resource, Resource) + */ + void forIsInstanceOf(Resource resource, Resource type, AsyncListener procedure); + /** + * @see ReadGraph#isInstanceOf(Resource, Resource) + */ + void forIsInstanceOf(Resource resource, Resource type, SyncListener procedure); + /** + * @see ReadGraph#isInstanceOf(Resource, Resource) + */ + void forIsInstanceOf(Resource resource, Resource type, Listener procedure); + /** + * @see ReadGraph#isInstanceOf(Resource, Resource) + */ + void forIsInstanceOf(Resource resource, Resource type, AsyncProcedure procedure); + /** + * @see ReadGraph#isInstanceOf(Resource, Resource) + */ + void forIsInstanceOf(Resource resource, Resource type, SyncProcedure procedure); + /** + * @see ReadGraph#isInstanceOf(Resource, Resource) + */ + void forIsInstanceOf(Resource resource, Resource type, Procedure procedure); + + /** + * @see ReadGraph#isInheritedFrom(Resource, Resource) + */ + void forIsInheritedFrom(Resource resource, Resource type, AsyncListener procedure); + /** + * @see ReadGraph#isInheritedFrom(Resource, Resource) + */ + void forIsInheritedFrom(Resource resource, Resource type, SyncListener procedure); + /** + * @see ReadGraph#isInheritedFrom(Resource, Resource) + */ + void forIsInheritedFrom(Resource resource, Resource type, Listener procedure); + /** + * @see ReadGraph#isInheritedFrom(Resource, Resource) + */ + void forIsInheritedFrom(Resource resource, Resource type, AsyncProcedure procedure); + /** + * @see ReadGraph#isInheritedFrom(Resource, Resource) + */ + void forIsInheritedFrom(Resource resource, Resource type, SyncProcedure procedure); + /** + * @see ReadGraph#isInheritedFrom(Resource, Resource) + */ + void forIsInheritedFrom(Resource resource, Resource type, Procedure procedure); + + /** + * @see ReadGraph#isSubrelationOf(Resource, Resource) + */ + void forIsSubrelationOf(Resource resource, Resource relation, AsyncListener procedure); + /** + * @see ReadGraph#isSubrelationOf(Resource, Resource) + */ + void forIsSubrelationOf(Resource resource, Resource relation, SyncListener procedure); + /** + * @see ReadGraph#isSubrelationOf(Resource, Resource) + */ + void forIsSubrelationOf(Resource resource, Resource relation, Listener procedure); + /** + * @see ReadGraph#isSubrelationOf(Resource, Resource) + */ + void forIsSubrelationOf(Resource resource, Resource relation, AsyncProcedure procedure); + /** + * @see ReadGraph#isSubrelationOf(Resource, Resource) + */ + void forIsSubrelationOf(Resource resource, Resource relation, SyncProcedure procedure); + /** + * @see ReadGraph#isSubrelationOf(Resource, Resource) + */ + void forIsSubrelationOf(Resource resource, Resource relation, Procedure procedure); + + /** + * @see ReadGraph#hasStatement(Resource) + */ + void forHasStatement(Resource subject, AsyncListener procedure); + /** + * @see ReadGraph#hasStatement(Resource) + */ + void forHasStatement(Resource subject, SyncListener procedure); + /** + * @see ReadGraph#hasStatement(Resource) + */ + void forHasStatement(Resource subject, Listener procedure); + /** + * @see ReadGraph#hasStatement(Resource) + */ + void forHasStatement(Resource subject, AsyncProcedure procedure); + /** + * @see ReadGraph#hasStatement(Resource) + */ + void forHasStatement(Resource subject, SyncProcedure procedure); + /** + * @see ReadGraph#hasStatement(Resource) + */ + void forHasStatement(Resource subject, Procedure procedure); + + /** + * @see ReadGraph#hasStatement(Resource, Resource) + */ + void forHasStatement(Resource subject, Resource relation, AsyncListener procedure); + /** + * @see ReadGraph#hasStatement(Resource, Resource) + */ + void forHasStatement(Resource subject, Resource relation, SyncListener procedure); + /** + * @see ReadGraph#hasStatement(Resource, Resource) + */ + void forHasStatement(Resource subject, Resource relation, Listener procedure); + /** + * @see ReadGraph#hasStatement(Resource, Resource) + */ + void forHasStatement(Resource subject, Resource relation, AsyncProcedure procedure); + /** + * @see ReadGraph#hasStatement(Resource, Resource) + */ + void forHasStatement(Resource subject, Resource relation, SyncProcedure procedure); + /** + * @see ReadGraph#hasStatement(Resource, Resource) + */ + void forHasStatement(Resource subject, Resource relation, Procedure procedure); + + /** + * @see ReadGraph#hasStatement(Resource, Resource, Resource) + */ + void forHasStatement(Resource subject, Resource relation, Resource object, AsyncListener procedure); + /** + * @see ReadGraph#hasStatement(Resource, Resource, Resource) + */ + void forHasStatement(Resource subject, Resource relation, Resource object, SyncListener procedure); + /** + * @see ReadGraph#hasStatement(Resource, Resource, Resource) + */ + void forHasStatement(Resource subject, Resource relation, Resource object, Listener procedure); + /** + * @see ReadGraph#hasStatement(Resource, Resource, Resource) + */ + void forHasStatement(Resource subject, Resource relation, Resource object, AsyncProcedure procedure); + /** + * @see ReadGraph#hasStatement(Resource, Resource, Resource) + */ + void forHasStatement(Resource subject, Resource relation, Resource object, SyncProcedure procedure); + /** + * @see ReadGraph#hasStatement(Resource, Resource, Resource) + */ + void forHasStatement(Resource subject, Resource relation, Resource object, Procedure procedure); + + /** + * @see ReadGraph#hasValue(Resource) + */ + void forHasValue(Resource subject, AsyncListener procedure); + /** + * @see ReadGraph#hasValue(Resource) + */ + void forHasValue(Resource subject, SyncListener procedure); + /** + * @see ReadGraph#hasValue(Resource) + */ + void forHasValue(Resource subject, Listener procedure); + /** + * @see ReadGraph#hasValue(Resource) + */ + void forHasValue(Resource subject, AsyncProcedure procedure); + /** + * @see ReadGraph#hasValue(Resource) + */ + void forHasValue(Resource subject, SyncProcedure procedure); + /** + * @see ReadGraph#hasValue(Resource) + */ + void forHasValue(Resource subject, Procedure procedure); + + /** + * @see ReadGraph#getTypes(Resource) + */ + void forOrderedSet(Resource subject, AsyncMultiListener procedure); + /** + * @see ReadGraph#getTypes(Resource) + */ + void forOrderedSet(Resource subject, SyncMultiListener procedure); + /** + * @see ReadGraph#getTypes(Resource) + */ + void forOrderedSet(Resource subject, MultiListener procedure); + /** + * @see ReadGraph#getTypes(Resource) + */ + void forOrderedSet(Resource subject, AsyncMultiProcedure procedure); + /** + * @see ReadGraph#getTypes(Resource) + */ + void forOrderedSet(Resource subject, SyncMultiProcedure procedure); + /** + * @see ReadGraph#getTypes(Resource) + */ + void forOrderedSet(Resource subject, MultiProcedure procedure); + + int thread(); +// void inc(); +// void dec(); + + boolean isImmutable(Resource resource) throws DatabaseException; + +}