org.opentcs.access.rmi.services.RemoteTCSObjectService Maven / Gradle / Ivy
/**
* Copyright (c) The openTCS Authors.
*
* This program is free software and subject to the MIT license. (For details,
* see the licensing information (LICENSE.txt) you should have received with
* this copy of the software.)
*/
package org.opentcs.access.rmi.services;
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.Set;
import java.util.function.Predicate;
import org.opentcs.access.rmi.ClientID;
import org.opentcs.components.kernel.services.TCSObjectService;
import org.opentcs.data.ObjectHistory;
import org.opentcs.data.TCSObject;
import org.opentcs.data.TCSObjectReference;
/**
* Declares the methods provided by the {@link TCSObjectService} via RMI.
*
*
* The majority of the methods declared here have signatures analogous to their counterparts in
* {@link TCSObjectService}, with an additional {@link ClientID} parameter which serves the purpose
* of identifying the calling client and determining its permissions.
*
*
* To avoid redundancy, the semantics of methods that only pass through their arguments are not
* explicitly documented here again. See the corresponding API documentation in
* {@link TCSObjectService} for these, instead.
*
*
* @author Martin Grzenia (Fraunhofer IML)
*/
public interface RemoteTCSObjectService
extends Remote {
// CHECKSTYLE:OFF
> T fetchObject(ClientID clientId,
Class clazz,
TCSObjectReference ref)
throws RemoteException;
> T fetchObject(ClientID clientId, Class clazz, String name)
throws RemoteException;
> Set fetchObjects(ClientID clientId, Class clazz)
throws RemoteException;
> Set fetchObjects(ClientID clientId,
Class clazz,
Predicate super T> predicate)
throws RemoteException;
void updateObjectProperty(ClientID clientId,
TCSObjectReference> ref,
String key,
String value)
throws RemoteException;
void appendObjectHistoryEntry(ClientID clientId,
TCSObjectReference> ref,
ObjectHistory.Entry entry)
throws RemoteException;
// CHECKSTYLE:ON
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy