X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.db.impl%2Fsrc%2Forg%2Fsimantics%2Fdb%2Fimpl%2Fgraph%2FReadGraphSupport.java;h=f8d42fba5b72b568a8037db2b6eab9f51a2ce24b;hp=82cab4fede9a5fe194f4f2c7a471a2a069c08fcd;hb=9f0fd59be54719b1fe9322d8fd37e4950857308c;hpb=969bd23cab98a79ca9101af33334000879fb60c5 diff --git a/bundles/org.simantics.db.impl/src/org/simantics/db/impl/graph/ReadGraphSupport.java b/bundles/org.simantics.db.impl/src/org/simantics/db/impl/graph/ReadGraphSupport.java index 82cab4fed..f8d42fba5 100644 --- a/bundles/org.simantics.db.impl/src/org/simantics/db/impl/graph/ReadGraphSupport.java +++ b/bundles/org.simantics.db.impl/src/org/simantics/db/impl/graph/ReadGraphSupport.java @@ -1,101 +1,90 @@ -/******************************************************************************* - * 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.impl.graph; - -import java.util.Set; - -import org.simantics.db.DirectStatements; -import org.simantics.db.RelationInfo; -import org.simantics.db.Resource; -import org.simantics.db.Session; -import org.simantics.db.Statement; -import org.simantics.db.VirtualGraph; -import org.simantics.db.exception.DatabaseException; -import org.simantics.db.impl.query.CacheEntry; -import org.simantics.db.impl.query.IntSet; -import org.simantics.db.procedure.AsyncMultiProcedure; -import org.simantics.db.procedure.AsyncProcedure; -import org.simantics.db.procedure.AsyncSetListener; -import org.simantics.db.procedure.ListenerBase; -import org.simantics.db.procedure.MultiProcedure; -import org.simantics.db.procedure.Procedure; -import org.simantics.db.procedure.StatementProcedure; -import org.simantics.db.request.AsyncMultiRead; -import org.simantics.db.request.AsyncRead; -import org.simantics.db.request.ExternalRead; -import org.simantics.db.request.MultiRead; -import org.simantics.db.request.Read; - -public interface ReadGraphSupport { - - Session getSession(); - - void forPossibleObject(ReadGraphImpl graph, Resource subject, Resource predicate, AsyncProcedure procedure); - - void forEachPredicate(ReadGraphImpl graph, Resource subject, AsyncMultiProcedure procedure); - void forEachPredicate(ReadGraphImpl graph, Resource subject, MultiProcedure procedure); - IntSet getPredicates(ReadGraphImpl graph, Resource subject) throws Throwable; - - void forEachStatement(ReadGraphImpl graph, Resource subject, Resource predicate, MultiProcedure procedure); - void forEachStatement(ReadGraphImpl graph, Resource subject, Resource predicate, AsyncMultiProcedure procedure); - void forEachStatement(ReadGraphImpl graph, Resource subject, Resource predicate, StatementProcedure procedure); - void forStatementSet(ReadGraphImpl graph, Resource subject, Resource predicate, AsyncSetListener procedure); - void forAssertedStatementSet(ReadGraphImpl graph, Resource subject, Resource predicate, AsyncSetListener procedure); - void forEachAssertedStatement(ReadGraphImpl graph, Resource subject, Resource predicate, AsyncMultiProcedure procedure); - void forEachObject(ReadGraphImpl graph, Resource subject, Resource predicate, MultiProcedure procedure); - void forEachObject(ReadGraphImpl graph, Resource subject, Resource predicate, AsyncMultiProcedure procedure); - void forEachDirectPredicate(ReadGraphImpl graph, Resource subject, AsyncMultiProcedure procedure); - void forEachDirectStatement(ReadGraphImpl graph, Resource subject, Procedure procedure); - void forEachDirectStatement(ReadGraphImpl graph, Resource subject, AsyncProcedure procedure, boolean ignoreVirtual); - void forObjectSet(ReadGraphImpl graph, Resource subject, Resource predicate, AsyncSetListener procedure); - void forPredicateSet(ReadGraphImpl graph, Resource subject, AsyncSetListener procedure); - void forPrincipalTypeSet(ReadGraphImpl graph, Resource subject, AsyncSetListener procedure); - void forEachAssertedObject(ReadGraphImpl graph, Resource subject, Resource predicate, AsyncMultiProcedure procedure); - void forAssertedObjectSet(ReadGraphImpl graph, Resource subject, Resource predicate, AsyncSetListener procedure); - void forEachPrincipalType(ReadGraphImpl graph, Resource subject, AsyncMultiProcedure procedure); - void forEachPrincipalType(ReadGraphImpl graph, Resource subject, MultiProcedure procedure); - - void forRelationInfo(ReadGraphImpl graph, Resource subject, AsyncProcedure procedure); - void forTypes(ReadGraphImpl graph, Resource subject, AsyncProcedure> procedure); - IntSet getTypes(ReadGraphImpl graph, Resource subject) throws Throwable; - void forSupertypes(ReadGraphImpl graph, Resource subject, AsyncProcedure> procedure); - void forDirectSuperrelations(ReadGraphImpl graph, Resource subject, AsyncMultiProcedure procedure); - void forPossibleSuperrelation(ReadGraphImpl graph, Resource subject, AsyncProcedure procedure); - void forSuperrelations(ReadGraphImpl graph, Resource subject, AsyncProcedure> procedure); - byte[] getValue(ReadGraphImpl graph, Resource subject) throws DatabaseException; - byte[] forValue(ReadGraphImpl graph, Resource subject, AsyncProcedure procedure); - void forPossibleValue(ReadGraphImpl graph, Resource subject, AsyncProcedure procedure); - void forInverse(ReadGraphImpl graph, Resource relation, AsyncProcedure procedure); - void forResource(ReadGraphImpl graph, String id, AsyncProcedure procedure); - void forBuiltin(ReadGraphImpl graph, String id, AsyncProcedure procedure); - - void forHasStatement(ReadGraphImpl graph, Resource subject, AsyncProcedure procedure); - void forHasStatement(ReadGraphImpl graph, Resource subject, Resource predicate, AsyncProcedure procedure); - void forHasStatement(ReadGraphImpl graph, Resource subject, Resource predicate, Resource object, AsyncProcedure procedure); - - void forHasValue(ReadGraphImpl graph, Resource subject, AsyncProcedure procedure); - void forOrderedSet(ReadGraphImpl graph, Resource subject, AsyncMultiProcedure procedure); - - T queryRead(ReadGraphImpl graph, Read request, CacheEntry parent, AsyncProcedure procedure, ListenerBase listener) throws Throwable; - void query(ReadGraphImpl graph, MultiRead request, CacheEntry parent, AsyncMultiProcedure procedure, ListenerBase listener); - void query(ReadGraphImpl graph, AsyncRead request, CacheEntry parent, AsyncProcedure procedure, ListenerBase listener); - void query(ReadGraphImpl graph, AsyncMultiRead request, CacheEntry parent, AsyncMultiProcedure procedure, ListenerBase listener); - void query(ReadGraphImpl graph, ExternalRead request, CacheEntry parent, Procedure procedure, ListenerBase listener); - - T tryQuery(final ReadGraphImpl graph, final Read request) throws DatabaseException; - void tryQuery(final ReadGraphImpl graph, final AsyncRead request, final AsyncProcedure procedure); - - VirtualGraph getProvider(Resource subject, Resource predicate, Resource object); - VirtualGraph getProvider(Resource subject, Resource predicate); - VirtualGraph getValueProvider(Resource subject); - -} +/******************************************************************************* + * Copyright (c) 2007, 2018 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.impl.graph; + +import java.util.Set; + +import org.simantics.db.RelationInfo; +import org.simantics.db.Resource; +import org.simantics.db.Session; +import org.simantics.db.Statement; +import org.simantics.db.VirtualGraph; +import org.simantics.db.exception.DatabaseException; +import org.simantics.db.impl.query.CacheEntry; +import org.simantics.db.impl.query.IntSet; +import org.simantics.db.procedure.AsyncMultiProcedure; +import org.simantics.db.procedure.AsyncProcedure; +import org.simantics.db.procedure.AsyncSetListener; +import org.simantics.db.procedure.ListenerBase; +import org.simantics.db.procedure.MultiProcedure; +import org.simantics.db.procedure.StatementProcedure; +import org.simantics.db.procedure.SyncMultiProcedure; +import org.simantics.db.request.AsyncMultiRead; +import org.simantics.db.request.MultiRead; + +public interface ReadGraphSupport { + + Session getSession(); + + void forPossibleObject(ReadGraphImpl graph, Resource subject, Resource predicate, AsyncProcedure procedure); + + void forEachPredicate(ReadGraphImpl graph, Resource subject, AsyncMultiProcedure procedure); + void forEachPredicate(ReadGraphImpl graph, Resource subject, MultiProcedure procedure); + IntSet getPredicates(ReadGraphImpl graph, Resource subject) throws Throwable; + + void forEachStatement(ReadGraphImpl graph, Resource subject, Resource predicate, MultiProcedure procedure); + void forEachStatement(ReadGraphImpl graph, Resource subject, Resource predicate, AsyncMultiProcedure procedure); + void forEachStatement(ReadGraphImpl graph, Resource subject, Resource predicate, StatementProcedure procedure); + void forStatementSet(ReadGraphImpl graph, Resource subject, Resource predicate, AsyncSetListener procedure); + void forAssertedStatementSet(ReadGraphImpl graph, Resource subject, Resource predicate, AsyncSetListener procedure); + void forEachAssertedStatement(ReadGraphImpl graph, Resource subject, Resource predicate, AsyncMultiProcedure procedure); + void forEachObject(ReadGraphImpl graph, Resource subject, Resource predicate, MultiProcedure procedure); + void forEachObject(ReadGraphImpl graph, Resource subject, Resource predicate, AsyncMultiProcedure procedure); + void forEachDirectPredicate(ReadGraphImpl graph, Resource subject, AsyncProcedure> procedure); + void forObjectSet(ReadGraphImpl graph, Resource subject, Resource predicate, AsyncSetListener procedure); + void forPredicateSet(ReadGraphImpl graph, Resource subject, AsyncSetListener procedure); + void forPrincipalTypeSet(ReadGraphImpl graph, Resource subject, AsyncSetListener procedure); + void forEachAssertedObject(ReadGraphImpl graph, Resource subject, Resource predicate, AsyncMultiProcedure procedure); + void forAssertedObjectSet(ReadGraphImpl graph, Resource subject, Resource predicate, AsyncSetListener procedure); + void forEachPrincipalType(ReadGraphImpl graph, Resource subject, AsyncMultiProcedure procedure); + void forEachPrincipalType(ReadGraphImpl graph, Resource subject, MultiProcedure procedure); + + RelationInfo getRelationInfo(ReadGraphImpl graph, Resource subject) throws DatabaseException; + + void forTypes(ReadGraphImpl graph, Resource subject, AsyncProcedure> procedure); + IntSet getTypes(ReadGraphImpl graph, Resource subject) throws Throwable; + void forSupertypes(ReadGraphImpl graph, Resource subject, AsyncProcedure> procedure); + void forDirectSuperrelations(ReadGraphImpl graph, Resource subject, AsyncMultiProcedure procedure); + void forPossibleSuperrelation(ReadGraphImpl graph, Resource subject, AsyncProcedure procedure); + void forSuperrelations(ReadGraphImpl graph, Resource subject, AsyncProcedure> procedure); + byte[] getValue(ReadGraphImpl graph, Resource subject) throws DatabaseException; + void forValue(ReadGraphImpl graph, Resource subject, AsyncProcedure procedure); + void forPossibleValue(ReadGraphImpl graph, Resource subject, AsyncProcedure procedure); + void forInverse(ReadGraphImpl graph, Resource relation, AsyncProcedure procedure); + void forResource(ReadGraphImpl graph, String id, AsyncProcedure procedure); + void forBuiltin(ReadGraphImpl graph, String id, AsyncProcedure procedure); + + void forHasStatement(ReadGraphImpl graph, Resource subject, AsyncProcedure procedure); + void forHasStatement(ReadGraphImpl graph, Resource subject, Resource predicate, AsyncProcedure procedure); + void forHasStatement(ReadGraphImpl graph, Resource subject, Resource predicate, Resource object, AsyncProcedure procedure); + + void forHasValue(ReadGraphImpl graph, Resource subject, AsyncProcedure procedure); + void forOrderedSet(ReadGraphImpl graph, Resource subject, AsyncMultiProcedure procedure); + + void query(ReadGraphImpl graph, MultiRead request, CacheEntry parent, SyncMultiProcedure procedure, ListenerBase listener); + void query(ReadGraphImpl graph, AsyncMultiRead request, CacheEntry parent, AsyncMultiProcedure procedure, ListenerBase listener); + + VirtualGraph getProvider(Resource subject, Resource predicate, Resource object); + VirtualGraph getProvider(Resource subject, Resource predicate); + VirtualGraph getValueProvider(Resource subject); + +}