package org.simantics.interop.mapping; import java.util.Collection; import java.util.Set; import java.util.TreeMap; import org.simantics.databoard.accessor.Accessor; import org.simantics.databoard.binding.Binding; import org.simantics.databoard.type.Datatype; import org.simantics.databoard.util.binary.RandomAccessBinary; import org.simantics.db.Metadata; import org.simantics.db.ReadGraph; import org.simantics.db.Resource; import org.simantics.db.Session; import org.simantics.db.Statement; import org.simantics.db.VirtualGraph; import org.simantics.db.WriteGraph; import org.simantics.db.common.request.ReadRequest; import org.simantics.db.common.request.WriteRequest; import org.simantics.db.common.request.WriteResultRequest; import org.simantics.db.exception.AdaptionException; import org.simantics.db.exception.AssumptionException; import org.simantics.db.exception.BindingException; import org.simantics.db.exception.DatabaseException; import org.simantics.db.exception.DoesNotContainValueException; import org.simantics.db.exception.ManyObjectsForFunctionalRelationException; import org.simantics.db.exception.NoInverseException; import org.simantics.db.exception.NoSingleResultException; import org.simantics.db.exception.ResourceNotFoundException; import org.simantics.db.exception.ServiceException; import org.simantics.db.exception.ServiceNotFoundException; import org.simantics.db.exception.ValidationException; 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.AsyncMultiRead; import org.simantics.db.request.AsyncRead; import org.simantics.db.request.DelayedWrite; import org.simantics.db.request.DelayedWriteResult; import org.simantics.db.request.ExternalRead; import org.simantics.db.request.MultiRead; import org.simantics.db.request.Read; import org.simantics.db.request.ReadInterface; import org.simantics.db.request.Write; import org.simantics.db.request.WriteInterface; import org.simantics.db.request.WriteOnly; import org.simantics.db.request.WriteOnlyResult; import org.simantics.db.request.WriteResult; import org.simantics.db.request.WriteTraits; import org.simantics.scl.types.Type; import org.simantics.utils.datastructures.Callback; /** * This is insane. * * @author Marko Luukkainen * */ public class SplittingWriteGraph implements WriteGraph { protected Session session; @Override public T getRelatedValue2(final Resource subject, final Resource relation) throws DatabaseException { return session.syncRequest(new Read() { @Override public T perform(ReadGraph graph) throws DatabaseException { return graph.getRelatedValue2(subject, relation); } }); } @Override public T getRelatedValue2(final Resource subject, final Resource relation, final Binding binding) throws DatabaseException { return session.syncRequest(new Read() { @Override public T perform(ReadGraph graph) throws DatabaseException { return graph.getRelatedValue2(subject, relation, binding); } }); } @Override public T getRelatedValue2(final Resource subject, final Resource relation, final Object context) throws DatabaseException { return session.syncRequest(new Read() { @Override public T perform(ReadGraph graph) throws DatabaseException { return graph.getRelatedValue2(subject, relation, context); } }); } @Override public T getRelatedValue2(final Resource subject, final Resource relation, final Object context, final Binding binding) throws DatabaseException { return session.syncRequest(new Read() { @Override public T perform(ReadGraph graph) throws DatabaseException { return graph.getRelatedValue2(subject, relation, context, binding); } }); } @Override public T getPossibleRelatedValue2(final Resource subject, final Resource relation) throws DatabaseException { return session.syncRequest(new Read() { @Override public T perform(ReadGraph graph) throws DatabaseException { return graph.getPossibleRelatedValue2(subject, relation); } }); } @Override public T getPossibleRelatedValue2(final Resource subject, final Resource relation, final Binding binding) throws DatabaseException { return session.syncRequest(new Read() { @Override public T perform(ReadGraph graph) throws DatabaseException { return graph.getPossibleRelatedValue2(subject, relation, binding); } }); } @Override public T getPossibleRelatedValue2(final Resource subject, final Resource relation, final Object context) throws DatabaseException { return session.syncRequest(new Read() { @Override public T perform(ReadGraph graph) throws DatabaseException { return graph.getPossibleRelatedValue2(subject, relation, context); } }); } @Override public T getPossibleRelatedValue2(final Resource subject, final Resource relation, final Object context, final Binding binding) throws DatabaseException { return session.syncRequest(new Read() { @Override public T perform(ReadGraph graph) throws DatabaseException { return graph.getPossibleRelatedValue2(subject, relation, context, binding); } }); } @Override public void async(final ReadInterface r, final AsyncListener procedure) { session.async(r, procedure); } @Override public void async(final ReadInterface r, final AsyncProcedure procedure) { session.async(r, procedure); } @Override public void async(final ReadInterface r, final Listener procedure) { session.async(r, procedure); } @Override public void async(final ReadInterface r, final Procedure procedure) { session.async(r, procedure); } @Override public void async(final ReadInterface r, final SyncListener procedure) { session.async(r, procedure); } @Override public void async(final ReadInterface r, final SyncProcedure procedure) { session.async(r, procedure); } @Override public void async(final WriteInterface r) { session.async(r); } @Override public void async(final WriteInterface r, final Procedure procedure) { session.async(r, procedure); } @Override public T sync(final ReadInterface r) throws DatabaseException { return session.sync(r); } @Override public T sync(final WriteInterface r) throws DatabaseException { return session.sync(r); } @Override public Resource getRootLibrary() { try { return session.syncRequest(new Read() { @Override public Resource perform(ReadGraph graph) throws DatabaseException { return graph.getRootLibrary(); } }); } catch (DatabaseException e) { return null; } } @Override public void clearUndoList(final WriteTraits writeTraits) { throw new RuntimeException("Not supported."); } @Override public void combineWithPrevious(WriteTraits writeTraits) { throw new RuntimeException("Not supported."); } @Override public TreeMap getMetadata() { try { return session.syncRequest(new WriteResultRequest>() { @Override public TreeMap perform(WriteGraph graph) throws DatabaseException { return graph.getMetadata(); } }); } catch (DatabaseException e) { return null; } } @Override public T getMetadata(final Class clazz) throws ServiceException { try { return session.syncRequest(new WriteResultRequest() { @Override public T perform(WriteGraph graph) throws DatabaseException { return graph.getMetadata(clazz); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public Type getRelatedValueType(final Resource subject, final Resource relation) throws DatabaseException { return session.syncRequest(new Read() { @Override public Type perform(ReadGraph graph) throws DatabaseException { return graph.getRelatedValueType(subject, relation); } }); } @Override public void deny(final Resource subject, final Resource predicate, final Resource inverse, final Resource object, final VirtualGraph vgraph) throws ServiceException { try { session.syncRequest(new WriteRequest() { @Override public void perform(WriteGraph graph) throws DatabaseException { graph.deny(subject, predicate, inverse, object, vgraph); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public T adaptRelated(final Resource resource, final Resource relation, final Class clazz) throws AdaptionException, NoSingleResultException, ValidationException, ServiceException { try { return session.syncRequest(new Read() { @Override public T perform(ReadGraph graph) throws DatabaseException { return graph.adaptRelated(resource, relation, clazz); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public T getPossibleRelatedAdapter(final Resource resource, final Resource relation, final Class clazz) throws ValidationException, ServiceException { try { return session.syncRequest(new Read() { @Override public T perform(ReadGraph graph) throws DatabaseException { return graph.getPossibleRelatedAdapter(resource, relation, clazz); } }); } catch (DatabaseException e) { throw new ValidationException(e); } } @Override public void inc() { throw new RuntimeException("Not supported."); } @Override public void dec() { throw new RuntimeException("Not supported."); } @Override public Collection getObjects(final Resource subject, final Resource relation) throws ServiceException { try { return session.syncRequest(new Read>() { @Override public Collection perform(ReadGraph graph) throws DatabaseException { return graph.getObjects(subject, relation); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public T newLiteral(final Resource resource, final Resource predicate, final Datatype datatype, final Object initialValue) throws DatabaseException { return session.syncRequest(new WriteResultRequest() { @Override public T perform(WriteGraph graph) throws DatabaseException { return graph.newLiteral(resource, predicate, datatype, initialValue); } }); } public RandomAccessBinary createRandomAccessBinary(final Resource resource, final Resource predicate, final Datatype datatype, final Object initialValue) throws DatabaseException { return session.syncRequest(new WriteResultRequest() { @Override public RandomAccessBinary perform(WriteGraph graph) throws DatabaseException { return graph.createRandomAccessBinary(resource, predicate, datatype, initialValue); } }); } public RandomAccessBinary createRandomAccessBinary(final Resource resource, final Datatype datatype, final Object initialValue) throws DatabaseException { return session.syncRequest(new WriteResultRequest() { @Override public RandomAccessBinary perform(WriteGraph graph) throws DatabaseException { return graph.createRandomAccessBinary(resource, datatype, initialValue); } }); } public T adaptContextual(final Resource resource, final C context, final java.lang.Class contextClass, final java.lang.Class clazz) throws AdaptionException ,NoSingleResultException ,ValidationException ,ServiceException { try { return session.syncRequest(new Read() { @Override public T perform(ReadGraph graph) throws DatabaseException { return graph.adaptContextual(resource, context, contextClass, clazz); } }); } catch (DatabaseException e) { throw new ServiceException(e); } }; public T getPossibleContextualAdapter(final Resource resource, final C context, final java.lang.Class contextClass, final java.lang.Class clazz) throws ValidationException ,ServiceException { try { return session.syncRequest(new Read() { @Override public T perform(ReadGraph graph) throws DatabaseException { return graph.getPossibleContextualAdapter(resource, context, contextClass, clazz); } }); } catch (DatabaseException e) { throw new ServiceException(e); } }; public SplittingWriteGraph(Session session) { this.session = session; } @Override public Resource newResource() throws ServiceException { try { return session.syncRequest(new WriteResultRequest() { @Override public Resource perform(WriteGraph graph) throws DatabaseException { return graph.newResource(); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public Resource newResource(final long clusterId) throws ServiceException { try { return session.syncRequest(new WriteResultRequest() { @Override public Resource perform(WriteGraph graph) throws DatabaseException { return graph.newResource(clusterId); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public T adapt(final Resource resource, final Class clazz) throws AdaptionException, ValidationException, ServiceException { try { return session.syncRequest(new Read() { @Override public T perform(ReadGraph graph) throws DatabaseException { return graph.adapt(resource, clazz); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public T adaptUnique(final Resource resource, final Class clazz) throws AdaptionException, ValidationException, ServiceException { try { return session.syncRequest(new Read() { @Override public T perform(ReadGraph graph) throws DatabaseException { return graph.adaptUnique(resource, clazz); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public void addLiteral(final Resource resource, final Resource predicate, final Resource inverse, final Object value, final Binding binding) throws BindingException, ManyObjectsForFunctionalRelationException, ServiceException { try { session.syncRequest(new WriteRequest() { @Override public void perform(WriteGraph graph) throws DatabaseException { graph.addLiteral(resource, predicate, inverse, value, binding); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public void addLiteral(final Resource resource, final Resource predicate, final Resource inverse, final Resource type, final Object value, final Binding binding) throws BindingException, ManyObjectsForFunctionalRelationException, ServiceException { try { session.syncRequest(new WriteRequest() { @Override public void perform(WriteGraph graph) throws DatabaseException { graph.addLiteral(resource, predicate, inverse, type, value, binding); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public void addMetadata(Metadata data) throws ServiceException { throw new RuntimeException("Not supported."); } @Override @Deprecated public void addValue(final Resource resource, final Resource predicate, final Resource inverse, final Resource type, final Object value, final Binding binding) throws BindingException, ManyObjectsForFunctionalRelationException, ServiceException { try { session.syncRequest(new WriteRequest() { @Override public void perform(WriteGraph graph) throws DatabaseException { graph.addValue(resource, predicate, inverse, type, value, binding); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public void asyncRequest(final AsyncMultiRead request) { session.asyncRequest(request); } @Override public void asyncRequest(AsyncMultiRead request, AsyncMultiListener procedure) { session.asyncRequest(request,procedure); } @Override public void asyncRequest(AsyncMultiRead request, AsyncMultiProcedure procedure) { session.asyncRequest(request,procedure); } @Override public void asyncRequest(AsyncMultiRead request, MultiListener procedure) { session.asyncRequest(request,procedure); } @Override public void asyncRequest(AsyncMultiRead request, MultiProcedure procedure) { session.asyncRequest(request,procedure); } @Override public void asyncRequest(AsyncMultiRead request, SyncMultiListener procedure) { session.asyncRequest(request,procedure); } @Override public void asyncRequest(AsyncMultiRead request, SyncMultiProcedure procedure) { session.asyncRequest(request,procedure); } @Override public void asyncRequest(AsyncRead request) { session.asyncRequest(request); } @Override public void asyncRequest(AsyncRead request, AsyncListener procedure) { session.asyncRequest(request,procedure); } @Override public void asyncRequest(AsyncRead request, AsyncProcedure procedure) { session.asyncRequest(request,procedure); } @Override public void asyncRequest(AsyncRead request, Listener procedure) { session.asyncRequest(request,procedure); } @Override public void asyncRequest(AsyncRead request, Procedure procedure) { session.asyncRequest(request,procedure); } @Override public void asyncRequest(AsyncRead request, SyncListener procedure) { session.asyncRequest(request,procedure); } @Override public void asyncRequest(AsyncRead request, SyncProcedure procedure) { session.asyncRequest(request,procedure); } @Override public void asyncRequest(DelayedWrite request) { session.asyncRequest(request); } @Override public void asyncRequest(DelayedWrite request, Callback callback) { session.asyncRequest(request,callback); } @Override public void asyncRequest(DelayedWriteResult r, Procedure procedure) { session.asyncRequest(r,procedure); } @Override public void asyncRequest(ExternalRead request) { session.asyncRequest(request); } @Override public void asyncRequest(ExternalRead request, Listener procedure) { session.asyncRequest(request,procedure); } @Override public void asyncRequest(ExternalRead request, Procedure procedure) { session.asyncRequest(request,procedure); } @Override public void asyncRequest(MultiRead request) { session.asyncRequest(request); } @Override public void asyncRequest(MultiRead request, AsyncMultiListener procedure) { session.asyncRequest(request,procedure); } @Override public void asyncRequest(MultiRead request, AsyncMultiProcedure procedure) { session.asyncRequest(request,procedure); } @Override public void asyncRequest(MultiRead request, MultiListener procedure) { session.asyncRequest(request,procedure); } @Override public void asyncRequest(MultiRead request, MultiProcedure procedure) { session.asyncRequest(request,procedure); } @Override public void asyncRequest(MultiRead request, SyncMultiListener procedure) { session.asyncRequest(request,procedure); } @Override public void asyncRequest(MultiRead request, SyncMultiProcedure procedure) { session.asyncRequest(request,procedure); } @Override public void asyncRequest(Read request) { session.asyncRequest(request); } @Override public void asyncRequest(Read request, AsyncListener procedure) { session.asyncRequest(request,procedure); } @Override public void asyncRequest(Read request, AsyncProcedure procedure) { session.asyncRequest(request,procedure); } @Override public void asyncRequest(Read request, Listener procedure) { session.asyncRequest(request,procedure); } @Override public void asyncRequest(Read request, Procedure procedure) { session.asyncRequest(request,procedure); } @Override public void asyncRequest(Read request, SyncListener procedure) { session.asyncRequest(request,procedure); } @Override public void asyncRequest(Read request, SyncProcedure procedure) { session.asyncRequest(request,procedure); } @Override public void asyncRequest(Write request) { session.asyncRequest(request); } @Override public void asyncRequest(Write request, Callback callback) { session.asyncRequest(request, callback); } @Override public void asyncRequest(WriteOnly r) { session.asyncRequest(r); } @Override public void asyncRequest(WriteOnly r, Callback callback) { session.asyncRequest(r,callback); } @Override public void asyncRequest(WriteOnlyResult r, Procedure procedure) { session.asyncRequest(r,procedure); } @Override public void asyncRequest(WriteResult r, Procedure procedure) { session.asyncRequest(r,procedure); } @Override public void claim(final Resource subject, final Resource predicate, final Resource inverse, final Resource object) throws ServiceException { try { session.syncRequest(new WriteRequest() { @Override public void perform(WriteGraph graph) throws DatabaseException { graph.claim(subject, predicate, inverse, object); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public void claim(final Resource subject, final Resource predicate, final Resource object) throws ServiceException { try { session.syncRequest(new WriteRequest() { @Override public void perform(WriteGraph graph) throws DatabaseException { graph.claim(subject, predicate, object); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public void claimLiteral(final Resource resource, final Resource predicate, final Object value) throws ManyObjectsForFunctionalRelationException, ServiceException { try { session.syncRequest(new WriteRequest() { @Override public void perform(WriteGraph graph) throws DatabaseException { graph.claimLiteral(resource, predicate, value); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public void claimLiteral(final Resource resource, final Resource predicate, final Object value, final Binding binding) throws BindingException, ManyObjectsForFunctionalRelationException, ServiceException { try { session.syncRequest(new WriteRequest() { @Override public void perform(WriteGraph graph) throws DatabaseException { graph.claimLiteral(resource, predicate, value, binding); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public void claimLiteral(final Resource resource, final Resource predicate, final Resource inverse, final Resource type, final Object value) throws BindingException, ManyObjectsForFunctionalRelationException, ServiceException { try { session.syncRequest(new WriteRequest() { @Override public void perform(WriteGraph graph) throws DatabaseException { graph.claimLiteral(resource, predicate, inverse, type, value); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public void claimLiteral(final Resource resource, final Resource predicate, final Resource inverse, final Resource type, final Object value, final Binding binding) throws BindingException, ManyObjectsForFunctionalRelationException, ServiceException { try { session.syncRequest(new WriteRequest() { @Override public void perform(WriteGraph graph) throws DatabaseException { graph.claimLiteral(resource, predicate, inverse, type, value, binding); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public void claimLiteral(final Resource resource, final Resource predicate, final Resource type, final Object value) throws BindingException, ManyObjectsForFunctionalRelationException, ServiceException { try { session.syncRequest(new WriteRequest() { @Override public void perform(WriteGraph graph) throws DatabaseException { graph.claimLiteral(resource, predicate, type, value); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public void claimLiteral(final Resource resource, final Resource predicate, final Resource type, final Object value, final Binding binding) throws BindingException, ManyObjectsForFunctionalRelationException, ServiceException { try { session.syncRequest(new WriteRequest() { @Override public void perform(WriteGraph graph) throws DatabaseException { graph.claimLiteral(resource, predicate, type, value, binding); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public void claimValue(final Resource resource, final Object value) throws ServiceException { try { session.syncRequest(new WriteRequest() { @Override public void perform(WriteGraph graph) throws DatabaseException { graph.claimValue(resource, value); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public void claimValue(final Resource resource, final Object value, final Binding binding) throws ServiceException { try { session.syncRequest(new WriteRequest() { @Override public void perform(WriteGraph graph) throws DatabaseException { graph.claimValue(resource, value, binding); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @SuppressWarnings("deprecation") @Override public void claimValue(final Resource resource, final Resource predicate, final Object value) throws ManyObjectsForFunctionalRelationException, ServiceException { try { session.syncRequest(new WriteRequest() { @Override public void perform(WriteGraph graph) throws DatabaseException { graph.claimValue(resource, predicate, value); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @SuppressWarnings("deprecation") @Override public void claimValue(final Resource resource, final Resource predicate, final Object value, final Binding binding) throws BindingException, ManyObjectsForFunctionalRelationException, ServiceException { try { session.syncRequest(new WriteRequest() { @Override public void perform(WriteGraph graph) throws DatabaseException { graph.claimValue(resource, predicate, value, binding); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @SuppressWarnings("deprecation") @Override public void claimValue(final Resource resource, final Resource predicate, final Resource inverse, final Resource type, final Object value, final Binding binding) throws BindingException, ManyObjectsForFunctionalRelationException, ServiceException { try { session.syncRequest(new WriteRequest() { @Override public void perform(WriteGraph graph) throws DatabaseException { graph.claimValue(resource, predicate, inverse, type, value, binding); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public void deny(final Resource subject) throws ServiceException { try { session.syncRequest(new WriteRequest() { @Override public void perform(WriteGraph graph) throws DatabaseException { graph.deny(subject); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public void deny(final Resource subject, final Resource predicate) throws ServiceException { try { session.syncRequest(new WriteRequest() { @Override public void perform(WriteGraph graph) throws DatabaseException { graph.deny(subject, predicate); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public void deny(final Resource subject, final Resource predicate, final Resource inverse, final Resource object) throws ServiceException { try { session.syncRequest(new WriteRequest() { @Override public void perform(WriteGraph graph) throws DatabaseException { graph.deny(subject, predicate, inverse, object); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public void deny(final Resource subject, final Resource predicate, final Resource object) throws ServiceException { try { session.syncRequest(new WriteRequest() { @Override public void perform(WriteGraph graph) throws DatabaseException { graph.deny(subject, predicate, object); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public void deny(final Statement statement) throws ServiceException { try { session.syncRequest(new WriteRequest() { @Override public void perform(WriteGraph graph) throws DatabaseException { graph.deny(statement); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public void denyStatement(final Resource subject, final Resource predicate, final Resource object) throws ServiceException { try { session.syncRequest(new WriteRequest() { @Override public void perform(WriteGraph graph) throws DatabaseException { graph.denyStatement(subject, predicate, object); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public void denyValue(final Resource resource) throws ServiceException { try { session.syncRequest(new WriteRequest() { @Override public void perform(WriteGraph graph) throws DatabaseException { graph.denyValue(resource); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public void denyValue(final Resource resource, final Resource predicate) throws ManyObjectsForFunctionalRelationException, ServiceException { try { session.syncRequest(new WriteRequest() { @Override public void perform(WriteGraph graph) throws DatabaseException { graph.denyValue(resource, predicate); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public void flushCluster() throws ServiceException { try { session.syncRequest(new WriteRequest() { @Override public void perform(WriteGraph graph) throws DatabaseException { graph.flushCluster(); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public void flushCluster(final Resource r) throws ServiceException { try { session.syncRequest(new WriteRequest() { @Override public void perform(WriteGraph graph) throws DatabaseException { graph.flushCluster(r); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public void forAdapted(final Resource resource, final Class clazz, final AsyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forAdapted(resource, clazz, procedure); } }); } catch (DatabaseException e) { } } @Override public void forAdapted(final Resource resource, final Class clazz, final AsyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forAdapted(resource, clazz, procedure); } }); } catch (DatabaseException e) { } } @Override public void forAdapted(final Resource resource, final Class clazz, final Listener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forAdapted(resource, clazz, procedure); } }); } catch (DatabaseException e) { } } @Override public void forAdapted(final Resource resource, final Class clazz, final Procedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forAdapted(resource, clazz, procedure); } }); } catch (DatabaseException e) { } } @Override public void forAdapted(final Resource resource, final Class clazz, final SyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forAdapted(resource, clazz, procedure); } }); } catch (DatabaseException e) { } } @Override public void forAdapted(final Resource resource, final Class clazz, final SyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forAdapted(resource, clazz, procedure); } }); } catch (DatabaseException e) { } } @Override public void forAssertedObjectSet(final Resource subject, final Resource relation, final AsyncSetListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forAssertedObjectSet(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forAssertedObjectSet(final Resource subject, final Resource relation, final SetListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forAssertedObjectSet(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forAssertedObjectSet(final Resource subject, final Resource relation, final SyncSetListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forAssertedObjectSet(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forAssertedStatementSet(final Resource subject, final Resource relation, final AsyncSetListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forAssertedStatementSet(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forAssertedStatementSet(final Resource subject, final Resource relation, final SetListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forAssertedStatementSet(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forAssertedStatementSet(final Resource subject, final Resource relation, final SyncSetListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forAssertedStatementSet(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forBuiltin(final String id, final AsyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forBuiltin(id, procedure); } }); } catch (DatabaseException e) { } } @Override public void forBuiltin(final String id, final Listener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forBuiltin(id, procedure); } }); } catch (DatabaseException e) { } } @Override public void forBuiltin(final String id, final AsyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forBuiltin(id, procedure); } }); } catch (DatabaseException e) { } } @Override public void forBuiltin(final String id, final Procedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forBuiltin(id, procedure); } }); } catch (DatabaseException e) { } } @Override public void forBuiltin(final String id, final SyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forBuiltin(id, procedure); } }); } catch (DatabaseException e) { } } @Override public void forBuiltin(final String id, final SyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forBuiltin(id, procedure); } }); } catch (DatabaseException e) { } } @Override public void forDirectSuperrelations(final Resource subject, final AsyncMultiProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forDirectSuperrelations(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forEachAssertedObject(final Resource subject, final Resource relation, final AsyncMultiProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forEachAssertedObject(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forEachAssertedObject(final Resource subject, final Resource relation, final MultiProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forEachAssertedObject(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forEachAssertedObject(final Resource subject, final Resource relation, final SyncMultiProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forEachAssertedObject(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forEachAssertedStatement(final Resource subject, final Resource relation, final AsyncMultiProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forEachAssertedStatement(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forEachAssertedStatement(final Resource subject, final Resource relation, final MultiProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forEachAssertedStatement(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forEachAssertedStatement(final Resource subject, final Resource relation, final SyncMultiProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forEachAssertedStatement(subject, relation, procedure); } }); } catch (DatabaseException e) { } } // @Override // public void forEachDirectObject(final Resource subject, final Resource relation, // final AsyncMultiProcedure procedure) { // try { // session.syncRequest(new ReadRequest() { // // @Override // public void run(ReadGraph graph) throws DatabaseException { // graph.forEachDirectObject(subject, relation, procedure); // } // }); // } catch (DatabaseException e) { // // } // } // // @Override // public void forEachDirectObject(final Resource subject, final Resource relation, // final MultiProcedure procedure) { // try { // session.syncRequest(new ReadRequest() { // // @Override // public void run(ReadGraph graph) throws DatabaseException { // graph.forEachDirectObject(subject, relation, procedure); // } // }); // } catch (DatabaseException e) { // // } // } // // @Override // public void forEachDirectObject(final Resource subject, final Resource relation, // final SyncMultiProcedure procedure) { // try { // session.syncRequest(new ReadRequest() { // // @Override // public void run(ReadGraph graph) throws DatabaseException { // graph.forEachDirectObject(subject, relation, procedure); // } // }); // } catch (DatabaseException e) { // // } // } @Override public void forEachDirectPredicate(final Resource subject, final AsyncMultiProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forEachDirectPredicate(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forEachDirectPredicate(final Resource subject, final MultiProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forEachDirectPredicate(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forEachDirectPredicate(final Resource subject, final SyncMultiProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forEachDirectPredicate(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forEachObject(final Resource subject, final Resource relation, final AsyncMultiProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forEachObject(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forEachObject(final Resource subject, final Resource relation, final MultiProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forEachObject(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forEachObject(final Resource subject, final Resource relation, final SyncMultiProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forEachObject(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forEachPredicate(final Resource subject, final AsyncMultiProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forEachPredicate(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forEachPredicate(final Resource subject, final MultiProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forEachPredicate(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forEachPredicate(final Resource subject, final SyncMultiProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forEachPredicate(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forEachPrincipalType(final Resource subject, final AsyncMultiProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forEachPrincipalType(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forEachPrincipalType(final Resource subject, final MultiProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forEachPrincipalType(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forEachPrincipalType(final Resource subject, final SyncMultiProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forEachPrincipalType(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forEachStatement(final Resource subject, final Resource relation, final AsyncMultiProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forEachStatement(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forEachStatement(final Resource subject, final Resource relation, final MultiProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forEachStatement(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forEachStatement(final Resource subject, final Resource relation, final SyncMultiProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forEachStatement(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forHasStatement(final Resource subject, final AsyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forHasStatement(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forHasStatement(final Resource subject, final AsyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forHasStatement(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forHasStatement(final Resource subject, final Listener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forHasStatement(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forHasStatement(final Resource subject, final Procedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forHasStatement(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forHasStatement(final Resource subject, final Resource relation, final AsyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forHasStatement(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forHasStatement(final Resource subject, final Resource relation, final AsyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forHasStatement(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forHasStatement(final Resource subject, final Resource relation, final Listener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forHasStatement(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forHasStatement(final Resource subject, final Resource relation, final Procedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forHasStatement(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forHasStatement(final Resource subject, final Resource relation, final Resource object, final AsyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forHasStatement(subject, relation, object, procedure); } }); } catch (DatabaseException e) { } } @Override public void forHasStatement(final Resource subject, final Resource relation, final Resource object, final AsyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forHasStatement(subject, relation, object, procedure); } }); } catch (DatabaseException e) { } } @Override public void forHasStatement(final Resource subject, final Resource relation, final Resource object, final Listener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forHasStatement(subject, relation, object, procedure); } }); } catch (DatabaseException e) { } } @Override public void forHasStatement(final Resource subject, final Resource relation, final Resource object, final Procedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forHasStatement(subject, relation, object, procedure); } }); } catch (DatabaseException e) { } } @Override public void forHasStatement(final Resource subject, final Resource relation, final Resource object, final SyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forHasStatement(subject, relation, object, procedure); } }); } catch (DatabaseException e) { } } @Override public void forHasStatement(final Resource subject, final Resource relation, final Resource object, final SyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forHasStatement(subject, relation, object, procedure); } }); } catch (DatabaseException e) { } } @Override public void forHasStatement(final Resource subject, final Resource relation, final SyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forHasStatement(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forHasStatement(final Resource subject, final Resource relation, final SyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forHasStatement(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forHasStatement(final Resource subject, final SyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forHasStatement(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forHasStatement(final Resource subject, final SyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forHasStatement(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forHasValue(final Resource subject, final AsyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forHasValue(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forHasValue(final Resource subject, final AsyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forHasValue(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forHasValue(final Resource subject, final Listener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forHasValue(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forHasValue(final Resource subject, final Procedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forHasValue(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forHasValue(final Resource subject, final SyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forHasValue(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forHasValue(final Resource subject, final SyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forHasValue(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forInverse(final Resource relation, final AsyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forInverse(relation, procedure); } }); } catch (DatabaseException e) { } } @Override public T getService(Class api) throws ServiceNotFoundException { return session.getService(api); } @Override public T peekService(Class api) { return session.peekService(api); } @Override public boolean hasService(Class api) { return session.hasService(api); } @Override public void registerService(Class api, T service) { session.registerService(api, service); } @Override public String getURI(final Resource resource) throws ValidationException, ServiceException, AssumptionException { try { return session.syncRequest(new Read() { @Override public String perform(ReadGraph graph) throws DatabaseException { return graph.getURI(resource); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public String getPossibleURI(final Resource resource) throws ValidationException, ServiceException { try { return session.syncRequest(new Read() { @Override public String perform(ReadGraph graph) throws DatabaseException { return graph.getPossibleURI(resource); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public Resource getResource(final String uri) throws ResourceNotFoundException, ValidationException, ServiceException { try { return session.syncRequest(new Read() { @Override public Resource perform(ReadGraph graph) throws DatabaseException { return graph.getResource(uri); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public Resource getPossibleResource(final String uri) throws ResourceNotFoundException, ValidationException, ServiceException { try { return session.syncRequest(new Read() { @Override public Resource perform(ReadGraph graph) throws DatabaseException { return graph.getPossibleResource(uri); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public Collection getStatements(final Resource subject, final Resource relation) throws ManyObjectsForFunctionalRelationException, ServiceException { try { return session.syncRequest(new Read>() { @Override public Collection perform(ReadGraph graph) throws DatabaseException { return graph.getStatements(subject, relation); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public Collection getAssertedStatements(final Resource subject, final Resource relation) throws ManyObjectsForFunctionalRelationException, ServiceException { try { return session.syncRequest(new Read>() { @Override public Collection perform(ReadGraph graph) throws DatabaseException { return graph.getAssertedStatements(subject, relation); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public Collection getPredicates(final Resource subject) throws ServiceException { try { return session.syncRequest(new Read>() { @Override public Collection perform(ReadGraph graph) throws DatabaseException { return graph.getPredicates(subject); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public Collection getPrincipalTypes(final Resource subject) throws ServiceException { try { return session.syncRequest(new Read>() { @Override public Collection perform(ReadGraph graph) throws DatabaseException { return graph.getPrincipalTypes(subject); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public Set getTypes(final Resource subject) throws ServiceException { try { return session.syncRequest(new Read>() { @Override public Set perform(ReadGraph graph) throws DatabaseException { return graph.getTypes(subject); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public Set getSupertypes(final Resource subject) throws ServiceException { try { return session.syncRequest(new Read>() { @Override public Set perform(ReadGraph graph) throws DatabaseException { return graph.getSupertypes(subject); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public Set getSuperrelations(final Resource subject) throws ServiceException { try { return session.syncRequest(new Read>() { @Override public Set perform(ReadGraph graph) throws DatabaseException { return graph.getSuperrelations(subject); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } public Resource getPossibleSuperrelation(final Resource subject) throws ServiceException { try { return session.syncRequest(new Read() { @Override public Resource perform(ReadGraph graph) throws DatabaseException { return graph.getPossibleSuperrelation(subject); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } // @Override // public Collection getObjects(final Resource subject, // Resource relation) // throws ManyObjectsForFunctionalRelationException, // ServiceException { // return graph.getObjects(subject, relation); // } @Override public Collection getAssertedObjects(final Resource subject, final Resource relation) throws ManyObjectsForFunctionalRelationException, ServiceException { try { return session.syncRequest(new Read>() { @Override public Collection perform(ReadGraph graph) throws DatabaseException { return graph.getAssertedObjects(subject, relation); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public Resource getInverse(final Resource relation) throws NoInverseException, ManyObjectsForFunctionalRelationException, ServiceException { try { return session.syncRequest(new Read() { @Override public Resource perform(ReadGraph graph) throws DatabaseException { return graph.getInverse(relation); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public Resource getSingleObject(final Resource subject, final Resource relation) throws NoSingleResultException, ManyObjectsForFunctionalRelationException, ServiceException { try { return session.syncRequest(new Read() { @Override public Resource perform(ReadGraph graph) throws DatabaseException { return graph.getSingleObject(subject, relation); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public Statement getSingleStatement(final Resource subject, final Resource relation) throws NoSingleResultException, ManyObjectsForFunctionalRelationException, ServiceException { try { return session.syncRequest(new Read() { @Override public Statement perform(ReadGraph graph) throws DatabaseException { return graph.getSingleStatement(subject, relation); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public Resource getSingleType(final Resource subject) throws NoSingleResultException, ServiceException { try { return session.syncRequest(new Read() { @Override public Resource perform(ReadGraph graph) throws DatabaseException { return graph.getSingleType(subject); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public Resource getSingleType(final Resource subject, final Resource baseType) throws NoSingleResultException, ServiceException { try { return session.syncRequest(new Read() { @Override public Resource perform(ReadGraph graph) throws DatabaseException { return graph.getSingleType(subject, baseType); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public T getValue(final Resource subject) throws DoesNotContainValueException, ServiceException { try { return session.syncRequest(new Read() { @Override public T perform(ReadGraph graph) throws DatabaseException { return graph.getValue(subject); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public T getValue(final Resource subject, final Binding binding) throws DoesNotContainValueException, BindingException, ServiceException { try { return session.syncRequest(new Read() { @Override public T perform(ReadGraph graph) throws DatabaseException { return graph.getValue(subject, binding); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public T getRelatedValue(final Resource subject, final Resource relation) throws NoSingleResultException, DoesNotContainValueException, ServiceException { try { return session.syncRequest(new Read() { @Override public T perform(ReadGraph graph) throws DatabaseException { return graph.getRelatedValue(subject, relation); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public T getRelatedValue(final Resource subject, final Resource relation, final Binding binding) throws NoSingleResultException, DoesNotContainValueException, BindingException, ServiceException { try { return session.syncRequest(new Read() { @Override public T perform(ReadGraph graph) throws DatabaseException { return graph.getRelatedValue(subject, relation, binding); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public Resource getPossibleInverse(final Resource relation) throws ManyObjectsForFunctionalRelationException, ServiceException { try { return session.syncRequest(new Read() { @Override public Resource perform(ReadGraph graph) throws DatabaseException { return graph.getPossibleInverse(relation); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public Resource getPossibleObject(final Resource subject, final Resource relation) throws ManyObjectsForFunctionalRelationException, ServiceException { try { return session.syncRequest(new Read() { @Override public Resource perform(ReadGraph graph) throws DatabaseException { return graph.getPossibleObject(subject, relation); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public Statement getPossibleStatement(final Resource subject, final Resource relation) throws ManyObjectsForFunctionalRelationException, ServiceException { try { return session.syncRequest(new Read() { @Override public Statement perform(ReadGraph graph) throws DatabaseException { return graph.getPossibleStatement(subject, relation); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public Resource getPossibleType(final Resource subject, final Resource baseType) throws ServiceException { try { return session.syncRequest(new Read() { @Override public Resource perform(ReadGraph graph) throws DatabaseException { return graph.getPossibleType(subject, baseType); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public T getPossibleValue(final Resource subject) throws ServiceException { try { return session.syncRequest(new Read() { @Override public T perform(ReadGraph graph) throws DatabaseException { return graph.getPossibleValue(subject); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public T getPossibleValue(final Resource subject, final Binding binding) throws BindingException, ServiceException { try { return session.syncRequest(new Read() { @Override public T perform(ReadGraph graph) throws DatabaseException { return graph.getPossibleValue(subject, binding); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public T getPossibleRelatedValue(final Resource subject, final Resource relation) throws ManyObjectsForFunctionalRelationException, ServiceException { try { return session.syncRequest(new Read() { @Override public T perform(ReadGraph graph) throws DatabaseException { return graph.getPossibleRelatedValue(subject, relation); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public T getPossibleRelatedValue(final Resource subject, final Resource relation, final Binding binding) throws ManyObjectsForFunctionalRelationException, BindingException, ServiceException { try { return session.syncRequest(new Read() { @Override public T perform(ReadGraph graph) throws DatabaseException { return graph.getPossibleRelatedValue(subject, relation, binding); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public T getPossibleAdapter(final Resource resource, final Class clazz) throws ValidationException, ServiceException { try { return session.syncRequest(new Read() { @Override public T perform(ReadGraph graph) throws DatabaseException { return graph.getPossibleAdapter(resource, clazz); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public T getPossibleUniqueAdapter(final Resource resource, final Class clazz) throws ValidationException, ServiceException { try { return session.syncRequest(new Read() { @Override public T perform(ReadGraph graph) throws DatabaseException { return graph.getPossibleUniqueAdapter(resource, clazz); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public boolean isInstanceOf(final Resource resource, final Resource type) throws ServiceException { try { return session.syncRequest(new Read() { @Override public Boolean perform(ReadGraph graph) throws DatabaseException { return graph.isInstanceOf(resource, type); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public boolean isInheritedFrom(final Resource resource, final Resource type) throws ServiceException { try { return session.syncRequest(new Read() { @Override public Boolean perform(ReadGraph graph) throws DatabaseException { return graph.isInheritedFrom(resource, type); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public boolean isSubrelationOf(final Resource resource, final Resource relation) throws ServiceException { try { return session.syncRequest(new Read() { @Override public Boolean perform(ReadGraph graph) throws DatabaseException { return graph.isSubrelationOf(resource, relation); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public boolean hasStatement(final Resource subject) throws ServiceException { try { return session.syncRequest(new Read() { @Override public Boolean perform(ReadGraph graph) throws DatabaseException { return graph.hasStatement(subject); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public boolean hasStatement(final Resource subject, final Resource relation) throws ServiceException { try { return session.syncRequest(new Read() { @Override public Boolean perform(ReadGraph graph) throws DatabaseException { return graph.hasStatement(subject, relation); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public boolean hasStatement(final Resource subject, final Resource relation, final Resource object) throws ServiceException { try { return session.syncRequest(new Read() { @Override public Boolean perform(ReadGraph graph) throws DatabaseException { return graph.hasStatement(subject, relation, object); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public boolean hasValue(final Resource subject) throws ServiceException { try { return session.syncRequest(new Read() { @Override public Boolean perform(ReadGraph graph) throws DatabaseException { return graph.hasValue(subject); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public Datatype getDataType(final Resource subject) throws DatabaseException { try { return session.syncRequest(new Read() { @Override public Datatype perform(ReadGraph graph) throws DatabaseException { return graph.getDataType(subject); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public T getAccessor(final Resource subject) throws DatabaseException { try { return session.syncRequest(new Read() { @Override public T perform(ReadGraph graph) throws DatabaseException { return graph.getAccessor(subject); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public RandomAccessBinary getRandomAccessBinary(final Resource subject) throws DatabaseException { try { return session.syncRequest(new Read() { @Override public RandomAccessBinary perform(ReadGraph graph) throws DatabaseException { return graph.getRandomAccessBinary(subject); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public T syncRequest(Read request) throws DatabaseException { return session.syncRequest(request); } @Override public T syncRequest(Read request, AsyncListener procedure) throws DatabaseException { return session.syncRequest(request, procedure); } @Override public T syncRequest(Read request, SyncListener procedure) throws DatabaseException { return session.syncRequest(request, procedure); } @Override public T syncRequest(Read request, Listener procedure) throws DatabaseException { return session.syncRequest(request, procedure); } @Override public T syncRequest(Read request, AsyncProcedure procedure) throws DatabaseException { return session.syncRequest(request, procedure); } @Override public T syncRequest(Read request, SyncProcedure procedure) throws DatabaseException { return session.syncRequest(request, procedure); } @Override public T syncRequest(Read request, Procedure procedure) throws DatabaseException { return session.syncRequest(request, procedure); } @Override public T syncRequest(AsyncRead request) throws DatabaseException { return session.syncRequest(request); } @Override public T syncRequest(AsyncRead request, AsyncListener procedure) throws DatabaseException { return session.syncRequest(request, procedure); } @Override public T syncRequest(AsyncRead request, SyncListener procedure) throws DatabaseException { return session.syncRequest(request, procedure); } @Override public T syncRequest(AsyncRead request, Listener procedure) throws DatabaseException { return session.syncRequest(request, procedure); } @Override public T syncRequest(AsyncRead request, AsyncProcedure procedure) throws DatabaseException { return session.syncRequest(request, procedure); } @Override public T syncRequest(AsyncRead request, SyncProcedure procedure) throws DatabaseException { return session.syncRequest(request, procedure); } @Override public T syncRequest(AsyncRead request, Procedure procedure) throws DatabaseException { return session.syncRequest(request, procedure); } @Override public Collection syncRequest(MultiRead request) throws DatabaseException { return session.syncRequest(request); } @Override public Collection syncRequest(MultiRead request, AsyncMultiListener procedure) throws DatabaseException { return session.syncRequest(request, procedure); } @Override public Collection syncRequest(MultiRead request, SyncMultiListener procedure) throws DatabaseException { return session.syncRequest(request, procedure); } @Override public Collection syncRequest(MultiRead request, MultiListener procedure) throws DatabaseException { return session.syncRequest(request, procedure); } @Override public Collection syncRequest(MultiRead request, AsyncMultiProcedure procedure) throws DatabaseException { return session.syncRequest(request, procedure); } @Override public Collection syncRequest(MultiRead request, SyncMultiProcedure procedure) throws DatabaseException { return session.syncRequest(request, procedure); } @Override public Collection syncRequest(MultiRead request, MultiProcedure procedure) throws DatabaseException { return session.syncRequest(request, procedure); } @Override public Collection syncRequest(AsyncMultiRead request) throws DatabaseException { return session.syncRequest(request); } @Override public Collection syncRequest(AsyncMultiRead request, AsyncMultiListener procedure) throws DatabaseException { return session.syncRequest(request, procedure); } @Override public Collection syncRequest(AsyncMultiRead request, SyncMultiListener procedure) throws DatabaseException { return session.syncRequest(request, procedure); } @Override public Collection syncRequest(AsyncMultiRead request, MultiListener procedure) throws DatabaseException { return session.syncRequest(request, procedure); } @Override public Collection syncRequest(AsyncMultiRead request, AsyncMultiProcedure procedure) throws DatabaseException { return session.syncRequest(request, procedure); } @Override public Collection syncRequest(AsyncMultiRead request, SyncMultiProcedure procedure) throws DatabaseException { return session.syncRequest(request, procedure); } @Override public Collection syncRequest(AsyncMultiRead request, MultiProcedure procedure) throws DatabaseException { return session.syncRequest(request, procedure); } @Override public T syncRequest(ExternalRead request) throws DatabaseException { return session.syncRequest(request); } @Override public T syncRequest(ExternalRead request, Listener procedure) throws DatabaseException { return session.syncRequest(request, procedure); } @Override public T syncRequest(ExternalRead request, Procedure procedure) throws DatabaseException { return session.syncRequest(request, procedure); } @Override public void syncRequest(Write request) throws DatabaseException { session.syncRequest(request); } @Override public void syncRequest(DelayedWrite request) throws DatabaseException { session.syncRequest(request); } @Override public void syncRequest(WriteOnly r) throws DatabaseException { session.syncRequest(r); } @Override public T syncRequest(WriteResult request) throws DatabaseException { return session.syncRequest(request); } @Override public T syncRequest(DelayedWriteResult request) throws DatabaseException { return session.syncRequest(request); } @Override public T syncRequest(WriteOnlyResult r) throws DatabaseException { return session.syncRequest(r); } @Override public void forURI(final Resource resource, final AsyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forURI(resource, procedure); } }); } catch (DatabaseException e) { } } @Override public void forURI(final Resource resource, final SyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forURI(resource, procedure); } }); } catch (DatabaseException e) { } } @Override public void forURI(final Resource resource, final Listener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forURI(resource, procedure); } }); } catch (DatabaseException e) { } } @Override public void forURI(final Resource resource, final AsyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forURI(resource, procedure); } }); } catch (DatabaseException e) { } } @Override public void forURI(final Resource resource, final SyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forURI(resource, procedure); } }); } catch (DatabaseException e) { } } @Override public void forURI(final Resource resource, final Procedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forURI(resource, procedure); } }); } catch (DatabaseException e) { } } @Override public void forResource(final String id, final AsyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forResource(id, procedure); } }); } catch (DatabaseException e) { } } @Override public void forResource(final String id, final SyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forResource(id, procedure); } }); } catch (DatabaseException e) { } } @Override public void forResource(final String id, final Listener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forResource(id, procedure); } }); } catch (DatabaseException e) { } } @Override public void forResource(final String id, final AsyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forResource(id, procedure); } }); } catch (DatabaseException e) { } } @Override public void forResource(final String id, final SyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forResource(id, procedure); } }); } catch (DatabaseException e) { } } @Override public void forResource(final String id, final Procedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forResource(id, procedure); } }); } catch (DatabaseException e) { } } @Override public void forStatementSet(final Resource subject, final Resource relation, final AsyncSetListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forStatementSet(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forStatementSet(final Resource subject, final Resource relation, final SyncSetListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forStatementSet(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forStatementSet(final Resource subject, final Resource relation, final SetListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forStatementSet(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPredicateSet(final Resource subject, final AsyncSetListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPredicateSet(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPredicateSet(final Resource subject, final SyncSetListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPredicateSet(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPredicateSet(final Resource subject, final SetListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPredicateSet(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPrincipalTypeSet(final Resource subject, final AsyncSetListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPrincipalTypeSet(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPrincipalTypeSet(final Resource subject, final SyncSetListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPrincipalTypeSet(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPrincipalTypeSet(final Resource subject, final SetListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPrincipalTypeSet(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forTypes(final Resource subject, final AsyncListener> procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forTypes(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forTypes(final Resource subject, final SyncListener> procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forTypes(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forTypes(final Resource subject, final Listener> procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forTypes(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forTypes(final Resource subject, final AsyncProcedure> procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forTypes(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forTypes(final Resource subject, final SyncProcedure> procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forTypes(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forTypes(final Resource subject, final Procedure> procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forTypes(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSupertypes(final Resource subject, final AsyncListener> procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSupertypes(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSupertypes(final Resource subject, final SyncListener> procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSupertypes(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSupertypes(final Resource subject, final Listener> procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSupertypes(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSupertypes(final Resource subject, final AsyncProcedure> procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSupertypes(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSupertypes(final Resource subject, final SyncProcedure> procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSupertypes(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSupertypes(final Resource subject, final Procedure> procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSupertypes(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleSuperrelation(final Resource subject, final AsyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleSuperrelation(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSuperrelations(final Resource subject, final AsyncListener> procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSuperrelations(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSuperrelations(final Resource subject, final SyncListener> procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSuperrelations(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSuperrelations(final Resource subject, final Listener> procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSuperrelations(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSuperrelations(final Resource subject, final AsyncProcedure> procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSuperrelations(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSuperrelations(final Resource subject, final SyncProcedure> procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSuperrelations(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSuperrelations(final Resource subject, final Procedure> procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSuperrelations(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forObjectSet(final Resource subject, final Resource relation, final AsyncSetListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forObjectSet(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forObjectSet(final Resource subject, final Resource relation, final SyncSetListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forObjectSet(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forObjectSet(final Resource subject, final Resource relation, final SetListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forObjectSet(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forInverse(final Resource relation, final SyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forInverse(relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forInverse(final Resource relation, final Listener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forInverse(relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forInverse(final Resource relation, final AsyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forInverse(relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forInverse(final Resource relation, final SyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forInverse(relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forInverse(final Resource relation, final Procedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forInverse(relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSingleObject(final Resource subject, final Resource relation, final AsyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSingleObject(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSingleObject(final Resource subject, final Resource relation, final SyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSingleObject(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSingleObject(final Resource subject, final Resource relation, final Listener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSingleObject(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSingleObject(final Resource subject, final Resource relation, final AsyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSingleObject(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSingleObject(final Resource subject, final Resource relation, final SyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSingleObject(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSingleObject(final Resource subject, final Resource relation, final Procedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSingleObject(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSingleStatement(final Resource subject, final Resource relation, final AsyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSingleStatement(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSingleStatement(final Resource subject, final Resource relation, final SyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSingleStatement(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSingleStatement(final Resource subject, final Resource relation, final Listener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSingleStatement(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSingleStatement(final Resource subject, final Resource relation, final AsyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSingleStatement(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSingleStatement(final Resource subject, final Resource relation, final SyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSingleStatement(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSingleStatement(final Resource subject, final Resource relation, final Procedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSingleStatement(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSingleType(final Resource subject, final AsyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSingleType(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSingleType(final Resource subject, final SyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSingleType(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSingleType(final Resource subject, final Listener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSingleType(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSingleType(final Resource subject, final AsyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSingleType(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSingleType(final Resource subject, final SyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSingleType(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSingleType(final Resource subject, final Procedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSingleType(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSingleType(final Resource subject, final Resource baseType, final AsyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSingleType(subject, baseType, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSingleType(final Resource subject, final Resource baseType, final SyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSingleType(subject, baseType, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSingleType(final Resource subject, final Resource baseType, final Listener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSingleType(subject, baseType, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSingleType(final Resource subject, final Resource baseType, final AsyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSingleType(subject, baseType, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSingleType(final Resource subject, final Resource baseType, final SyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSingleType(subject, baseType, procedure); } }); } catch (DatabaseException e) { } } @Override public void forSingleType(final Resource subject, final Resource baseType, final Procedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forSingleType(subject, baseType, procedure); } }); } catch (DatabaseException e) { } } @Override public void forValue(final Resource subject, final AsyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forValue(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forValue(final Resource subject, final SyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forValue(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forValue(final Resource subject, final Listener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forValue(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forValue(final Resource subject, final AsyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forValue(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forValue(final Resource subject, final SyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forValue(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forValue(final Resource subject, final Procedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forValue(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forValue(final Resource subject, final Binding binding, final AsyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forValue(subject, binding, procedure); } }); } catch (DatabaseException e) { } } @Override public void forValue(final Resource subject, final Binding binding, final SyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forValue(subject, binding, procedure); } }); } catch (DatabaseException e) { } } @Override public void forValue(final Resource subject, final Binding binding, final Listener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forValue(subject, binding, procedure); } }); } catch (DatabaseException e) { } } @Override public void forValue(final Resource subject, final Binding binding, final AsyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forValue(subject, binding, procedure); } }); } catch (DatabaseException e) { } } @Override public void forValue(final Resource subject, final Binding binding, final SyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forValue(subject, binding, procedure); } }); } catch (DatabaseException e) { } } @Override public void forValue(final Resource subject, final Binding binding, final Procedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forValue(subject, binding, procedure); } }); } catch (DatabaseException e) { } } @Override public void forRelatedValue(final Resource subject, final Resource relation, final AsyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forRelatedValue(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forRelatedValue(final Resource subject, final Resource relation, final SyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forRelatedValue(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forRelatedValue(final Resource subject, final Resource relation, final Listener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forRelatedValue(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forRelatedValue(final Resource subject, final Resource relation, final AsyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forRelatedValue(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forRelatedValue(final Resource subject, final Resource relation, final SyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forRelatedValue(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forRelatedValue(final Resource subject, final Resource relation, final Procedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forRelatedValue(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forRelatedValue(final Resource subject, final Resource relation, final Binding binding, final AsyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forRelatedValue(subject, relation, binding, procedure); } }); } catch (DatabaseException e) { } } @Override public void forRelatedValue(final Resource subject, final Resource relation, final Binding binding, final SyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forRelatedValue(subject, relation, binding, procedure); } }); } catch (DatabaseException e) { } } @Override public void forRelatedValue(final Resource subject, final Resource relation, final Binding binding, final Listener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forRelatedValue(subject, relation, binding, procedure); } }); } catch (DatabaseException e) { } } @Override public void forRelatedValue(final Resource subject, final Resource relation, final Binding binding, final AsyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forRelatedValue(subject, relation, binding, procedure); } }); } catch (DatabaseException e) { } } @Override public void forRelatedValue(final Resource subject, final Resource relation, final Binding binding, final SyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forRelatedValue(subject, relation, binding, procedure); } }); } catch (DatabaseException e) { } } @Override public void forRelatedValue(final Resource subject, final Resource relation, final Binding binding, final Procedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forRelatedValue(subject, relation, binding, procedure); } }); } catch (DatabaseException e) { } } @Override public void forUniqueAdapted(final Resource resource, final Class clazz, final AsyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forUniqueAdapted(resource, clazz, procedure); } }); } catch (DatabaseException e) { } } @Override public void forUniqueAdapted(final Resource resource, final Class clazz, final SyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forUniqueAdapted(resource, clazz, procedure); } }); } catch (DatabaseException e) { } } @Override public void forUniqueAdapted(final Resource resource, final Class clazz, final Listener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forUniqueAdapted(resource, clazz, procedure); } }); } catch (DatabaseException e) { } } @Override public void forUniqueAdapted(final Resource resource, final Class clazz, final AsyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forUniqueAdapted(resource, clazz, procedure); } }); } catch (DatabaseException e) { } } @Override public void forUniqueAdapted(final Resource resource, final Class clazz, final SyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forUniqueAdapted(resource, clazz, procedure); } }); } catch (DatabaseException e) { } } @Override public void forUniqueAdapted(final Resource resource, final Class clazz, final Procedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forUniqueAdapted(resource, clazz, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleInverse(final Resource relation, final AsyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleInverse(relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleInverse(final Resource relation, final SyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleInverse(relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleInverse(final Resource relation, final Listener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleInverse(relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleInverse(final Resource relation, final AsyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleInverse(relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleInverse(final Resource relation, final SyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleInverse(relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleInverse(final Resource relation, final Procedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleInverse(relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleObject(final Resource subject, final Resource relation, final AsyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleObject(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleObject(final Resource subject, final Resource relation, final SyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleObject(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleObject(final Resource subject, final Resource relation, final Listener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleObject(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleObject(final Resource subject, final Resource relation, final AsyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleObject(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleObject(final Resource subject, final Resource relation, final SyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleObject(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleObject(final Resource subject, final Resource relation, final Procedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleObject(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleStatement(final Resource subject, final Resource relation, final AsyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleStatement(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleStatement(final Resource subject, final Resource relation, final SyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleStatement(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleStatement(final Resource subject, final Resource relation, final Listener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleStatement(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleStatement(final Resource subject, final Resource relation, final AsyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleStatement(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleStatement(final Resource subject, final Resource relation, final SyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleStatement(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleStatement(final Resource subject, final Resource relation, final Procedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleStatement(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleType(final Resource subject, final Resource baseType, final AsyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleType(subject, baseType, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleType(final Resource subject, final Resource baseType, final SyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleType(subject, baseType, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleType(final Resource subject, final Resource baseType, final Listener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleType(subject, baseType, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleType(final Resource subject, final Resource baseType, final AsyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleType(subject, baseType, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleType(final Resource subject, final Resource baseType, final SyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleType(subject, baseType, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleType(final Resource subject, final Resource baseType, final Procedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleType(subject, baseType, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleValue(final Resource subject, final AsyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleValue(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleValue(final Resource subject, final SyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleValue(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleValue(final Resource subject, final Listener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleValue(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleValue(final Resource subject, final AsyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleValue(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleValue(final Resource subject, final SyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleValue(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleValue(final Resource subject, final Procedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleValue(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleValue(final Resource subject, final Binding binding, final AsyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleValue(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleValue(final Resource subject, final Binding binding, final SyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleValue(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleValue(final Resource subject, final Binding binding, final Listener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleValue(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleValue(final Resource subject, final Binding binding, final AsyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleValue(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleValue(final Resource subject, final Binding binding, final SyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleValue(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleValue(final Resource subject, final Binding binding, final Procedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleValue(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleRelatedValue(final Resource subject, final Resource relation, final AsyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleRelatedValue(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleRelatedValue(final Resource subject, final Resource relation, final SyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleRelatedValue(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleRelatedValue(final Resource subject, final Resource relation, final Listener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleRelatedValue(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleRelatedValue(final Resource subject, final Resource relation, final AsyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleRelatedValue(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleRelatedValue(final Resource subject, final Resource relation, final SyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleRelatedValue(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleRelatedValue(final Resource subject, final Resource relation, final Procedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleRelatedValue(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleRelatedValue(final Resource subject, final Resource relation, final Binding binding, final AsyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleRelatedValue(subject, relation, binding, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleRelatedValue(final Resource subject, final Resource relation, final Binding binding, final SyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleRelatedValue(subject, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleRelatedValue(final Resource subject, final Resource relation, final Binding binding, final Listener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleRelatedValue(subject, relation, binding, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleRelatedValue(final Resource subject, final Resource relation, final Binding binding, final AsyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleRelatedValue(subject, relation, binding, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleRelatedValue(final Resource subject, final Resource relation, final Binding binding, final SyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleRelatedValue(subject, relation, binding, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleRelatedValue(final Resource subject, final Resource relation, final Binding binding, final Procedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleRelatedValue(subject, relation, binding, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleAdapted(final Resource resource, final Class clazz, final AsyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleAdapted(resource, clazz, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleAdapted(final Resource resource, final Class clazz, final SyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleAdapted(resource, clazz, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleAdapted(final Resource resource, final Class clazz, final Listener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleAdapted(resource, clazz, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleAdapted(final Resource resource, final Class clazz, final AsyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleAdapted(resource, clazz, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleAdapted(final Resource resource, final Class clazz, final SyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleAdapted(resource, clazz, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleAdapted(final Resource resource, final Class clazz, final Procedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleAdapted(resource, clazz, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleUniqueAdapted(final Resource resource, final Class clazz, final AsyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleUniqueAdapted(resource, clazz, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleUniqueAdapted(final Resource resource, final Class clazz, final SyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleUniqueAdapted(resource, clazz, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleUniqueAdapted(final Resource resource, final Class clazz, final Listener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleUniqueAdapted(resource, clazz, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleUniqueAdapted(final Resource resource, final Class clazz, final AsyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleUniqueAdapted(resource, clazz, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleUniqueAdapted(final Resource resource, final Class clazz, final SyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleUniqueAdapted(resource, clazz, procedure); } }); } catch (DatabaseException e) { } } @Override public void forPossibleUniqueAdapted(final Resource resource, final Class clazz, final Procedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forPossibleUniqueAdapted(resource, clazz, procedure); } }); } catch (DatabaseException e) { } } @Override public void forIsInstanceOf(final Resource resource, final Resource type, final AsyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forIsInstanceOf(resource, type, procedure); } }); } catch (DatabaseException e) { } } @Override public void forIsInstanceOf(final Resource resource, final Resource type, final SyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forIsInstanceOf(resource, type, procedure); } }); } catch (DatabaseException e) { } } @Override public void forIsInstanceOf(final Resource resource, final Resource type, final Listener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forIsInstanceOf(resource, type, procedure); } }); } catch (DatabaseException e) { } } @Override public void forIsInstanceOf(final Resource resource, final Resource type, final AsyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forIsInstanceOf(resource, type, procedure); } }); } catch (DatabaseException e) { } } @Override public void forIsInstanceOf(final Resource resource, final Resource type, final SyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forIsInstanceOf(resource, type, procedure); } }); } catch (DatabaseException e) { } } @Override public void forIsInstanceOf(final Resource resource, final Resource type, final Procedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forIsInstanceOf(resource, type, procedure); } }); } catch (DatabaseException e) { } } @Override public void forIsInheritedFrom(final Resource resource, final Resource type, final AsyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forIsInheritedFrom(resource, type, procedure); } }); } catch (DatabaseException e) { } } @Override public void forIsInheritedFrom(final Resource resource, final Resource type, final SyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forIsInheritedFrom(resource, type, procedure); } }); } catch (DatabaseException e) { } } @Override public void forIsInheritedFrom(final Resource resource, final Resource type, final Listener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forIsInheritedFrom(resource, type, procedure); } }); } catch (DatabaseException e) { } } @Override public void forIsInheritedFrom(final Resource resource, final Resource type, final AsyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forIsInheritedFrom(resource, type, procedure); } }); } catch (DatabaseException e) { } } @Override public void forIsInheritedFrom(final Resource resource, final Resource type, final SyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forIsInheritedFrom(resource, type, procedure); } }); } catch (DatabaseException e) { } } @Override public void forIsInheritedFrom(final Resource resource, final Resource type, final Procedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forIsInheritedFrom(resource, type, procedure); } }); } catch (DatabaseException e) { } } @Override public void forIsSubrelationOf(final Resource resource, final Resource relation, final AsyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forIsSubrelationOf(resource, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forIsSubrelationOf(final Resource resource, final Resource relation, final SyncListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forIsSubrelationOf(resource, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forIsSubrelationOf(final Resource resource, final Resource relation, final Listener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forIsSubrelationOf(resource, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forIsSubrelationOf(final Resource resource, final Resource relation, final AsyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forIsSubrelationOf(resource, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forIsSubrelationOf(final Resource resource, final Resource relation, final SyncProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forIsSubrelationOf(resource, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forIsSubrelationOf(final Resource resource, final Resource relation, final Procedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forIsSubrelationOf(resource, relation, procedure); } }); } catch (DatabaseException e) { } } @Override public void forOrderedSet(final Resource subject, final AsyncMultiListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forOrderedSet(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forOrderedSet(final Resource subject, final SyncMultiListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forOrderedSet(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forOrderedSet(final Resource subject, final MultiListener procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forOrderedSet(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forOrderedSet(final Resource subject, final AsyncMultiProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forOrderedSet(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forOrderedSet(final Resource subject, final SyncMultiProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forOrderedSet(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public void forOrderedSet(final Resource subject, final MultiProcedure procedure) { try { session.syncRequest(new ReadRequest() { @Override public void run(ReadGraph graph) throws DatabaseException { graph.forOrderedSet(subject, procedure); } }); } catch (DatabaseException e) { } } @Override public int thread() { return -1; } @Override public Session getSession() { return session; } @Override public Resource getBuiltin(final String id) throws ResourceNotFoundException, ServiceException { try { return session.syncRequest(new Read() { @Override public Resource perform(ReadGraph graph) throws DatabaseException { return graph.getBuiltin(id); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } @Override public VirtualGraph getProvider() { return null; } @Override public boolean isImmutable(final Resource resource) throws DatabaseException { try { return session.syncRequest(new Read() { @Override public Boolean perform(ReadGraph graph) throws DatabaseException { return graph.isImmutable(resource); } }); } catch (DatabaseException e) { throw new ServiceException(e); } } }