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%2FRequestProcessor.java;h=5e818cb995c32408a9f04377c0b0885767d95513;hp=1fb7ae3a128c442b1d6006eb06463915632e0b10;hb=9f0fd59be54719b1fe9322d8fd37e4950857308c;hpb=969bd23cab98a79ca9101af33334000879fb60c5 diff --git a/bundles/org.simantics.db/src/org/simantics/db/RequestProcessor.java b/bundles/org.simantics.db/src/org/simantics/db/RequestProcessor.java index 1fb7ae3a1..5e818cb99 100644 --- a/bundles/org.simantics.db/src/org/simantics/db/RequestProcessor.java +++ b/bundles/org.simantics.db/src/org/simantics/db/RequestProcessor.java @@ -1,69 +1,82 @@ -/******************************************************************************* - * 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.exception.DatabaseException; -import org.simantics.db.request.ReadInterface; -import org.simantics.db.request.WriteInterface; - -/** - * - * For initiating requests in synchronous manner. The possible requests are - * - *

- * Some standard implementations of ReadInterface and WriteInterface include - *

- *

- * The standard RequestProcessors are - *

- * - * Database services (see e.g. {@link Session}) are available from implemented - * {@link ServiceLocator}. For an asynchronous counterpart with the same - * functionality as RequestProcessor see {@link AsyncRequestProcessor} - * - *

- * IMPORTANT:A client invoking any of the sync - * -methods in this interface must not assume that the request is performed - * within the same thread that performed the syncRequest - * invocation. This is an implementation-specific matter. - * - * @version 1.5 - * @author Antti Villberg - * @see ReadInterface - * @see WriteInterface - * @see ReadGraph - * @see Session - * @see MergingGraphRequestProcessor - * @see AsyncRequestProcessor - */ -public interface RequestProcessor extends AsyncRequestProcessor, RequestProcessorSpecific { - - T sync(ReadInterface r) throws DatabaseException; - T sync(WriteInterface r) throws DatabaseException; - -} +/******************************************************************************* + * Copyright (c) 2007, 2018 Association for Decentralized Information Management + * in Industry THTH ry. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * VTT Technical Research Centre of Finland - initial API and implementation + *******************************************************************************/ +package org.simantics.db; + +import org.simantics.db.exception.DatabaseException; +import org.simantics.db.procedure.Procedure; +import org.simantics.db.request.ReadInterface; +import org.simantics.db.request.WriteInterface; + +/** + * + * For initiating requests in synchronous manner. The possible requests are + *

+ *

+ * Some standard implementations of ReadInterface and WriteInterface include + *

+ *

+ * The standard RequestProcessors are + *

+ * + * Database services (see e.g. {@link Session}) are available from implemented + * {@link ServiceLocator}. For an asynchronous counterpart with the same + * functionality as RequestProcessor see {@link AsyncRequestProcessor} + * + *

+ * IMPORTANT:A client invoking any of the sync + * -methods in this interface must not assume that the request is performed + * within the same thread that performed the syncRequest + * invocation. This is an implementation-specific matter. + * + * @version 1.5 + * @author Antti Villberg + * @see ReadInterface + * @see WriteInterface + * @see ReadGraph + * @see Session + * @see MergingGraphRequestProcessor + * @see AsyncRequestProcessor + */ +public interface RequestProcessor extends RequestProcessorSpecific, ServiceLocator { + + Resource getRootLibrary(); + + /** + * @return the {@link Session} for which this processor is based on. + */ + Session getSession(); + + T sync(ReadInterface r) throws DatabaseException; + T sync(WriteInterface r) throws DatabaseException; + + void async(WriteInterface r); + void async(WriteInterface r, Procedure procedure); + + Object getModificationCounter(); + +}