/*******************************************************************************
* 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)
*/