X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.db%2Fsrc%2Forg%2Fsimantics%2Fdb%2FAsyncRequestProcessor.java;h=3f17927e223693752142a51645fdf7565412765a;hp=e1707d94e259e361f3f6369d0ef30cbe693d7f59;hb=e19c37f84fd1ce2d946578f7c05f3e45444ba67a;hpb=969bd23cab98a79ca9101af33334000879fb60c5 diff --git a/bundles/org.simantics.db/src/org/simantics/db/AsyncRequestProcessor.java b/bundles/org.simantics.db/src/org/simantics/db/AsyncRequestProcessor.java index e1707d94e..3f17927e2 100644 --- a/bundles/org.simantics.db/src/org/simantics/db/AsyncRequestProcessor.java +++ b/bundles/org.simantics.db/src/org/simantics/db/AsyncRequestProcessor.java @@ -1,88 +1,88 @@ -/******************************************************************************* - * Copyright (c) 2007, 2010 Association for Decentralized Information Management - * in Industry THTH ry. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * VTT Technical Research Centre of Finland - initial API and implementation - *******************************************************************************/ -package org.simantics.db; - -import org.simantics.db.procedure.AsyncListener; -import org.simantics.db.procedure.AsyncProcedure; -import org.simantics.db.procedure.Listener; -import org.simantics.db.procedure.Procedure; -import org.simantics.db.procedure.SyncListener; -import org.simantics.db.procedure.SyncProcedure; -import org.simantics.db.request.AsyncMultiRead; -import org.simantics.db.request.AsyncRead; -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; - -/** - * - * For initiating requests in asynchronous manner. The possible requests are - * - *

- * The standard AsyncRequestProcessors are - *

- * - * Database services (see e.g. {@link Session}) are available from implemented - * {@link ServiceLocator}. For a synchronous counterpart with the same - * functionality as AsyncRequestProcessor see {@link RequestProcessor} - * - * @version 0.7 - * @author Antti Villberg - * @see Read - * @see AsyncRead - * @see MultiRead - * @see AsyncMultiRead - * @see Write - * @see WriteOnly - * @see AsyncReadGraph - * @see Session - * @see MergingGraphRequestProcessor - * @see RequestProcessor - */ -public interface AsyncRequestProcessor extends ServiceLocator, AsyncRequestProcessorSpecific { - - Resource getRootLibrary(); - - /** - * @return the {@link Session} for which this processor is based on. - */ - Session getSession(); - - void async(ReadInterface r, Procedure procedure); - void async(ReadInterface r, AsyncProcedure procedure); - void async(ReadInterface r, SyncProcedure procedure); - void async(ReadInterface r, Listener procedure); - void async(ReadInterface r, AsyncListener procedure); - void async(ReadInterface r, SyncListener procedure); - - void async(WriteInterface r); - void async(WriteInterface r, Procedure procedure); - - Object getModificationCounter(); - -} +/******************************************************************************* + * Copyright (c) 2007, 2010 Association for Decentralized Information Management + * in Industry THTH ry. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * VTT Technical Research Centre of Finland - initial API and implementation + *******************************************************************************/ +package org.simantics.db; + +import org.simantics.db.procedure.AsyncListener; +import org.simantics.db.procedure.AsyncProcedure; +import org.simantics.db.procedure.Listener; +import org.simantics.db.procedure.Procedure; +import org.simantics.db.procedure.SyncListener; +import org.simantics.db.procedure.SyncProcedure; +import org.simantics.db.request.AsyncMultiRead; +import org.simantics.db.request.AsyncRead; +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; + +/** + * + * For initiating requests in asynchronous manner. The possible requests are + *
    + *
  • {@link Read} for computing a single result synchronously + *
  • {@link AsyncRead} for computing a single result asynchronously + *
  • {@link MultiRead} for computing a collection of results synchronously + *
  • {@link AsyncMultiRead} for computing a collection of results + * asynchronously + *
  • {@link Write} for reading and writing synchronously + *
  • {@link WriteOnly} for writing synchronously + *
+ *

+ * The standard AsyncRequestProcessors are + *

    + *
  • {@link AsyncReadGraph} for performing requests during other requests + *
  • {@link Session} for initiating a transactions for performing requests + *
  • {@link MergingGraphRequestProcessor} for merging several requests in a + * single transaction + *
+ * + * Database services (see e.g. {@link Session}) are available from implemented + * {@link ServiceLocator}. For a synchronous counterpart with the same + * functionality as AsyncRequestProcessor see {@link RequestProcessor} + * + * @version 0.7 + * @author Antti Villberg + * @see Read + * @see AsyncRead + * @see MultiRead + * @see AsyncMultiRead + * @see Write + * @see WriteOnly + * @see AsyncReadGraph + * @see Session + * @see MergingGraphRequestProcessor + * @see RequestProcessor + */ +public interface AsyncRequestProcessor extends ServiceLocator, AsyncRequestProcessorSpecific { + + Resource getRootLibrary(); + + /** + * @return the {@link Session} for which this processor is based on. + */ + Session getSession(); + + void async(ReadInterface r, Procedure procedure); + void async(ReadInterface r, AsyncProcedure procedure); + void async(ReadInterface r, SyncProcedure procedure); + void async(ReadInterface r, Listener procedure); + void async(ReadInterface r, AsyncListener procedure); + void async(ReadInterface r, SyncListener procedure); + + void async(WriteInterface r); + void async(WriteInterface r, Procedure procedure); + + Object getModificationCounter(); + +}