/******************************************************************************* * 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; }